Virtualization is the term which is widely used across many areas but in this post we are going to look into Virtualization from computing perspective.
Virtualization means creating virtual instances of something. From the computing perspective it refers to the process of creating virtual instances of computer based system.
Though there are many faces of virtualization in computing also, we will mainly focus on Operating System Virtualization.
Some important terms
- (Virtual Machine Monitor) : The layer of software that virtualizes a computer into multiple virtual machine environments. Also called a “hypervisor.”
- (Virtual Machine) : One instance of an operating system along with one or more applications running in an isolated partition within the computer.
Types of Virtualization
- Full Virtualization
In this method of virtualization a VMM (Virtual Machine Monitor) comes in picture.
As shown in above figure here VMM mediates between guest operating system and bare hardware. Virtual instances of hardware are created and assigned to each guest operating system. Here in this method operating systems are not aware that they are being virtualized they run unmodified.
Advantages of this method are
- Operating systems (as well as apps running above them) are isolated from each other.
- Complete hardware is emulated and an instance of each virtual machine is assigned separate emulated hardware pool.
- A complete software stack including OS state and information in encapsulated so that in case of failure of system / VM they can be easily transfered from on physical/virtual machine to other.
Disadvantages of Full Virtualization
- Here an operating system must support underlying hardware otherwise emulated hardware will be of no use to OS.
- Mediation of VMM causes a lot of performance overhead as it is job of VMM to trap and handle certain protected instructions as underlying hardware is not owned by operating systems but by VMM.
This is one another method of virtualization and one of the most popular. In this method also hypervisor is used but also virtualization aware code is integrated into operating system itself.
- Obviates the need for recompilation or translation of instructions as operating systems are made aware about them being virtualized.
- Requires OSs to be modified so it brings limitation to the use of OS as some proprietary OSs cannot be modified.
This article will be expanded soon…..
var dc_AdLinkColor = \\\\\\’orange\\\\\\’ ; var dc_UnitID = 14 ; var dc_PublisherID = 27593 ; var dc_adprod = \\\\\\’ADL\\\\\\’ ;