Virtualization allows multiple operating system instances to run concurrently on a single computer;
it is a means of separating hardware from a single operating system. Each “guest” OS is managed by
a Virtual Machine Monitor (VMM), also known as a hypervisor. Because the virtualization system sits
between the guest and the hardware, it can control the guests’ use of CPU, memory, and storage,
even allowing a guest OS to migrate from one machine to another.
[Never Mind if you didn’t get above paragraph 😛 ]
Here i would like to explain the different type of Virtualization which are currently popular in the market today.
3)Hardware-assisted virtualization (Native virtualization)
Consider we have a bought a new server from IBM or HP or Dell and finally we named the bare metal as Host.
Next thing is normally we will install an Operating system over the bare metal(Host). In virtualization world this OS is called Host Operating System.
Now we are going to install the so called Virtual Machine Monitor(Consider it like a software ) over our Host Operating System.
Once we installed the Virtual Machine Monitor our server is ready to run multiple operating systems.
The OSes which are all installed over the VMM are called Guest OSes.
Full virtualization is a type of virtualization in which the guest operating systems need not to be modified.
That means the media(CD or whatever ) which we use to install operating systems over the bare metal can be used to install operating system over the Virtual Machine Monitor.
Technically the guest os do not aware of the fact that it is running over the virtualized environment all the instructions which are generated by the guest os have to be handled by the host os. So there will be more overhead which causes the performance degradation.
Performance wise full virtualization occupies bottom .
Software supports full virtualization are VMWARE Workstation ,Virtual Box ,VMWARE Server etc..
In Para virtualization the guest operating systems need to be modified(Called OS porting) . Only Ported operating sytstems can be installed as a guest os in para virtualization.
Software supports para virtualization.
Since the guest os is well aware of the fact that it is running over a virtualized environment it can able to communicate very easily with the host operating system. Though the guest know that it is running over the virtualized environment still there will be an overhead because all the instructions need to be passed through the host operating system.
Performance wise it stands in between the other two.
Hardware-assisted virtualization (Native virtualization)
The intel and AMD guys have came up with hardware support for the virtualization. In the above 2 cases everything is done by the Virtual Machine Monitor(Software). My old school teacher used to say that whenever an algorithm is implemented in hardware it will be 2 to 10 times faster when compared to implementation of the same algorithm in software.
Intel VT-x and AMD V are the initially released hardware support for virtualization(For Binary Translation).
Recently Intel and AMD released Intel-d and AMD-Vi for hardware support virtualization(For Directed I/O).
Software that Supports Hardware Assisted virtualization are KVM ,Vmware ESX server ,Vmware workstation XEN etc.
Not all the processor will support this virtualization. Only processor that has this technology can support. For details have to check the processor specifications.
Performance wise Hardware assisted virtualization tops among the three.
Types Of Hypervisors
In the whole above context the guest OS is installed over the Virtual Machine Monitor and which in turn installed over the host operating system. In Virtualization world this is called as Type II Hypervisor.
Some people came up with new idea why do i need to install Virtual Machine Monitor(Hypervisor) over the host os instead of that they started to install it over the bare metal . This is called as Type I Hypervisor
For production environment a hypervisor with Type I and hardware assisted virtualization is recommended.
Advantages of Virtualization
1)A complete abstraction between the hardware and guest OS.
2)Server Consolidation(Data center Consolidation)
5)Reduced power and cooling costs. and Lots More…
Virtualization is one of the big stepping stone for the cloud computing.