Virtualization


In a previous post called Hyper-V, virtualization was defined and briefly discussed.

Virtualization is the process of running powerful software on a computer to create a complete environment that imitates all of the hardware you’d have on a real computer. In this virtual environment we can install and run an operating system exactly as if it were installed directly on its own hardware. That guest environment is called a virtual machine. Virtualization convinces an operating system that it’s running on its own hardware.

Emulation

Emulation is different from virtualization. An emulator is hardware or software that converts the commands to and from the host machine into an entirely different platform. For example you could have a Super Nintendo emulator running on a Windows operating system.

Desktop Virtualization

VMWare Player is one free software that enables virtualization. Get it at www.vmware.com. Another is a free and open source application from Oracle called VirtualBox. It is at www.virtualbox.org.

When you run these products you will need to have the operating system installation media. You need to install the operating system from scratch. You will need a separate legal copy of the OS you want to install into a virtual machine. If you don’t have a legal copy you can use, try installing Ubuntu, if you want. You can download an ISO image from www.ubuntu.com.

Once installed you can start using your virtual machine. You can start, stop, pause, add or remove virtual hardware. Virtual desktops were the first type of popular virtual machines but there are others.

A single hypervisor on a single machine will run as many virtual machines as the hardware will allow. The greatest limiting factor is RAM and the second greatest is the CPU. A virtual machine that is shut down is just a file or folder of files sitting on a hard drive.

Why?

Many of the servers that we access over the Internet are now virtualized. Virtualization is very popular in the server world. You can run one physical box with multiple operating systems running on it at the same time. The benefits are power/electricity savings and hardware consolidation. You can install older operating systems as well in case you need to support other people who are using these older operating systems. The benefits here are support and research. Also, with VMs, they have system recovery features and system duplication features. For recovery purposes, most VMs let you take a snapshot which saves the VM’s state at that moment allowing you to return to that state. If your server goes down for some reason (malware, hacking etc) all you need to do is shut down your troubled VM and load the snapshot copy of it. Similarly if you need to teach 10 students about Ubuntu, you can install a hypervisor on all 10 machines and then copy a single virtual machine to all the computers. In the server world if you have for example a virtualized Web server and want another Web server, just make a copy of it and run the copy. Now you have two Web servers, provided the hardware supports it.

The Host Operating System

VMware Workstation is a popular product. It is a desktop application. It runs on top of a single system that is already running an operating system, called the host operating system. For example you can run VMware on Windows 10.

Types of Virtualization

There are two types of virtualization: bare metal and hosted. With bare metal, we have the hardware layer and above that is the hypervisor layer and above that we have the virtual machines (having operating systems in them). With the hosted type we have the hardware layer, the host operating system layer, the hypervisor layer and then the virtual machine layer. With this type you still boot to your operating system as you normally would and then you can run your virtual machines on top of your host OS.

Some popular examples of the hosted type are Oracle VirtualBox, VMware Server Workstation and Fusion, Microsoft Virtual PC, Qeumu, coLinux and others. Some examples of bare metal types are Microsoft HyperV, Xen, VMware ESX, and KVM.