A Hypervisor is a hardware virtualization technique that allows multiple Guest operating systems (OS) to run on a single Host system at the same time.
A hypervisor is also known as a Virtual Machine Manager (VMM), a piece of computer software, firmware or hardware that creates and runs virtual machines.
The guest OS shares the resources of the host computer, such that each OS appears to have its own processor, memory and other hardware resources. However, the hypervisor is actually controlling the host processor and resources, allocating what is needed to each operating system in turn and making sure that the guest operating systems (called Virtual Machines) cannot disrupt each other.
Hypervisors can be divided into two types:
- Type 1: Also known as native or bare-metal hypervisors, these run directly on the host computer’s hardware to control the hardware resources and to manage guest operating systems. Examples of Type 1 hypervisors include VMware ESXi, Citrix XenServer and Microsoft Hyper-V hypervisor.
- Type 2: Also known as hosted hypervisors, these run within a formal operating system environment just as other computer programs do. In this type, the hypervisor runs as a distinct second layer while the operating system runs as a third layer above the hardware. VMware Workstation, VMware Player,VirtualBox and QEMU are examples of type-2 hypervisors.
However, the distinction between these two types is not necessarily clear. Linux’s Kernel-based Virtual Machine (KVM) and FreeBSD’s bhyve are kernel modules that effectively convert the host operating system to a type-1 hypervisor. At the same time, since Linux distributions and FreeBSD are still general-purpose operating systems, with other applications competing for VM resources, KVM and bhyve can also be categorized as type-2 hypervisors.