Hardware Based Virtualization

Prerequisite – Virtualization In Cloud Computing and Types, Types of Server Virtualization, Hypervisor
A platform virtualization approach that allows efficient full virtualization with the help of hardware capabilities, primarily from the host processor is referred as Hardware based virtualization in computing. To simulate a complete hardware environment, or virtual machine, full virtualization is used in which an unchanged guest operating system (using the common instruction set as the host machine) executes in sophisticated isolation.

The different logical layers of operating system-based virtualization, in which the VM is first installed into a full host operating system and subsequently used to generate virtual machines.

An abstract execution environment in terms of computer hardware in which guest OS can be run, referred as Hardware-level virtualization. In this, an operating system represents the guest, the physical computer hardware represents a host, its emulation represents virtual machine, and hypervisor represents the Virtual Machine Manager. When the virtual machines are allowed to interact with hardware without any intermediary action requirement from the host operating system generally makes hardware-based virtualization more efficient. A fundamental component of hardware virtualization is the hypervisor, or virtual machine manger (VMM).

Basically, there are two types of Hypervisors which are described below:

  • Type-I hypervisors:
    It runs at the top of hardware. That’s why they take the place of operating system. They interact directly with the ISA interface exposed by the underlying hardware.

  • Type-II hypervisor:
    To provide virtualization services, the support of an operating system is required. The programs managed by the operating system, which interact with Type II hypervisor through the ABI and emulate the ISA of virtual hardware for guest operating system.

A hypervisor has a simple user interface which needs some storage space. It exists as a thin layer of software and to establish a virtualization management layer, it does hardware management function. For the provisioning of virtual machines, device drivers and support software are optimized while many standard operating system functions are not implemented. Essentially, to enhance performance overhead inherent to the coordination which allows multiple VMs to interact with the same hardware platform this type of virtualization system is used.

Hardware compatibility is another challenge for hardware-based virtualization. The virtualization layer interacts directly with the host hardware, which results that all the associated drivers and support software must be compatible with the hypervisor. As hardware devices drivers available to other operating systems may not be available to hypervisor platform similarly. Moreover, host management and administration features may not contain the range of advanced functions that are common to operating system.

Advantages of hardware-based virtualization –
It reduces the maintenance overhead of paravirtualization as it reduces (ideally, eliminates) the modification in the guest operating system. It is also significantly convenient to attain enhanced performance. A practical benefit of hardware-based virtualization has been mentioned by VMware engineers and Virtual Iron.

Disadvantages of hardware-based virtualization –
Hardware-based virtualization requires explicit support in the host CPU, which may not available on all x86/x86_64 processors. A “pure” hardware-based virtualization approach, including entire unmodified guest operating system, involves many VM traps, and thus rapid increase in CPU overhead occurs which limits the scalability and efficiency of server consolidation. This performance hit can be mitigated by the use of para-virtualized drivers; the combination has been called “hybrid virtualization”.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Improved By : Madhurkant Sharma