Virtualization is the concept of creating a virtualized version (non-physical machinery) to support applications backed by traditional computer and hardware devices. It’s like running multiple operating systems simultaneously on a computer system. It combines virtual hardware platforms, storage systems, and network sources on a computing device. Much like virtualization, the idea behind hardware or platform virtualization is to create a virtual machine that works like a physical computer having an operating system.
Hardware Virtualization
Hardware or Platform Virtualization is a concept that is understood by differentiating software on a physical machine, called host operating system, from software in a virtual machine, which can be called the guest operating system. A host machine can host one or more virtual machines, provided the physical machine has sufficient hardware. The guest OS on a virtual machine executes as if it is operating directly on the physical machine hardware. Each guest OS has a different execution environment from the other guest or host operating systems.
Hypervisor/Virtual Machine Monitor (VMM)
Software or firmware that helps support virtualization on a host machine is called a hypervisor or virtual machine manager (VMM). The VMM acts as an abstraction layer between one or more virtual machine(s) and the physical machine. The VMM enables the communication between physical machine hardware and one or more virtual machine(s). A hypervisor can be divided into two types, namely Type 1 and Type 2, based on the type of their implementation.
Type 1 hypervisor operates between physical machine hardware and virtual machines. It is directed through the hypervisor, and there is no involvement of any host operating system as the Type 1 hypervisor runs on the physical machine. Due to this reason, the Type 1 hypervisor is also called a “bare-metal” hypervisor. Microsoft Windows Server 2012 Hyper-V, VMware vSphere/ESXi, Red Hat Enterprise Virtualization (RHEV), Citrix XenServer, and open-source Kernel-based Virtual Machine (KVM) are examples of a few popular Type 1 hypervisors.
Type 2 hypervisor runs on top of a host operating system (OS) installed on the host physical machine, like an installed application, to manage one or more virtual machine(s). The extra host OS layer between physical hardware and the one or more virtual machine(s) in the type 2 hypervisor usually slows down guest execution compared to the type 1 hypervisor. Oracle VirtualBox and VMware Workstation are a few popular type 2 hypervisors.
Type of Hardware Virtualizations
To ensure system security, applications aren’t allowed to access the hardware directly but through the OS layer. The x86 operating systems perform application tasks by executing in a privileged execution mode, where the applications usually run with user-level (lower) privileges. Different levels of privileged access to the underlying hardware, also called protection rings, ensure safety from software bugs/failures.
In the x86 architectures, there are four different levels of privileges (ring 0 to ring 3). Ring 0 is the most privileged level for kernel-mode execution, whereas Ring 3 is the least privileged level used for user-mode applications. These protection rings ensure that hardware access such as memory access or I/O transfer is only possible via the kernel-mode execution. An installed application may transfer control to the kernel, for privileged execution, by making a system call. The VMM must also manage these privilege levels to offer virtualized resources to guest OS.
Virtualization offers different approaches for managing these privilege levels, such as binary translation, shadow page tables, and I/O emulation. Binary translation executes the VMM on Ring 0 mode to have the most privileged level, but guest OS executes on Ring 1 to trap OS calls in the VMM. Shadow page tables map physical guest memory to the host physical memory. The guest OS is restricted to access hardware page tables, where the VMM manages the mappings between the guest memory and the host physical memory. I/O emulation employs emulated devices to deliver guest OS requests to a physical I/O hardware.
Full Virtualization: Full virtualization is achieved using a combination of binary translation and direct execution where the guest OS is not aware that it is virtualized. With full virtualization VMMs, the physical CPU executes non-sensitive instructions directly at native speed, whereas all operating system instructions (sensitive instructions) are translated at run-time using binary translation. Since binary translation usually employs a code cache to store translated hot instructions, it increases the cost of memory usage. So, the process is time-consuming and can incur high-performance overhead. VMW are ESXi, Oracle VirtualBox, and Microsoft Virtual Server are examples of full virtualization VMMs.
Paravirtualization: It improves the performance of the guest OS by directly linking the virtual machine and the underlying physical hardware. Enhancement through paravirtualization can achieve the guest OS is customized for the VMM to enable a hypercall mechanism and recompiled before installation. When a privileged command is executed on the Guest OS, it is delivered to the VMM through a hypercall (a type of system call), and the VMM receives this hypercall, accesses the hardware, and returns the result. With hypercalls, the run-time processing overhead of the VMM is reduced, thereby enhancing the performance of the guest OS/software.
Paravirtualization is also called OS-assisted virtualization because of the awareness of the VMM on the guest OS. The VMM provides, to the virtual machine, hypercall interfaces for critical kernel operations such as memory management and interrupt handling. Paravirtualization’s key drawbacks include requiring extensive modifications to the guest OS, which may be challenging to make, and posing maintainability challenges. VMWare VMI and Xen are examples of paravirtualization VMMs.
Hardware-Assisted Virtualization: It utilizes virtualization features built into the latest processors. With hardware-assisted virtualization, the hypervisor can efficiently virtualize the x86 instruction set by handling sensitive instructions using a classic trap-and-emulate model in the hardware instead of the software. The VMMs can run at ‘Ring -1,’ and guest OS can access the processor at ‘Ring 0’ as if guest OS is running on a physical host machine. It allows the guest OS to be virtualized without any customizations. One of the limitations of hardware-assisted virtualization is that it requires explicit support in the host processor, which may not be available on all the processors. Microsoft Hyper-V, XenCenter, and Linux KVM are examples of Hardware-Assisted Virtualization VMMs.
Some Benefits of Hardware Virtualization
Virtualization enables more than one server (e.g., web server) to run on a single host machine, challenging traditional computing servers.
It is quite easy to relocate a virtual machine from one physical host to another as needed. For example, in disaster recovery or employee transfer scenarios, migrating a virtual machine to a new location without manually transporting the physical machine can be quick.
Since virtual machines ensure a sandboxed computing environment, an error in the virtual machine doesn’t threaten the host machine; thus, virtual machines are safer than traditional machines where a software bug may adversely impact the underlying hardware.
If an application isn’t compatible with the host OS, a new virtual machine with compatible OS quickly allows the desired software to be executed without modifying the host OS.
Conclusion
One of the main reasons for the widespread adoption of virtualization technologies is that it helps to reduce under-utilized hardware resources and achieves efficient use of the system hardware. In traditional computing machines, the software is tightly coupled with the hardware; however, virtualization allows decoupling of software and hardware. Over the years, virtualization technology has matured with software and hardware support to ensure server consolidation, resource management & provisioning over multiple operating systems. Overall, the outlook for virtualization technologies looks very promising, with innovations and products being introduced with time.
Editorial Team at Lumenci
Through Lumenci blogs and reports, we share important highlights from the latest technological advancements and provide an in-depth understanding of their Intellectual Property (IP). Our goal is to showcase the significance of IP in the ever-evolving world of technology.

