logo

What are Hypervisors?

Hypervisor = Virtual Machine Manager (VMM).

2 Types of Hypervisors

  • Type-1: native or bare metal hypervisor.
    • hypervisor runs directly on the host's hardware.
    • e.g. XEN, Hyper-V (Windows; used by WSL), VMware ESXi (renamed from ESX; i for integrated)
  • Type-2: hosted hypervisor.
    • hypervisor runs on a conventional operating system, a guest operating system runs as a process on the host.
    • e.g. VMware Workstation, VirtualBox, QEMU.

KVM can be considered as both Type-1 and Type-2.

The most popular Hypervisors

  • Xen: an external hypervisor; it assumes control of the machine and divides resources among guests.
  • KVM: part of Linux and uses the regular Linux scheduler and memory management. This means that KVM is much smaller and simpler to use; it also provides some features not available in Xen. For example, KVM can swap guests to disk in order to free RAM.
    • It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko.
    • QEMU is the default VMM (Virtual Machine Manager) of KVM, but can be replaced. QEMU is a generic and open source machine emulator and virtualizer. The Android emulator is built on QEMU.
    • KVM: kernel side; QEMU: userspace. QEMU can use KVM and host CPU to accelerate: $ qemu-system-x86_64 accel=kvm ...
    • The kernel component of KVM is included in mainline Linux, as of 2.6.20. The userspace component of KVM is included in mainline QEMU, as of 1.3.
  • VirtualBox: by Oracle
    • a Type 2 Hypervisor.
    • open source and free; No hardware virtualisation required.
  • VMware ESXi, VMware Workstation
  • Hyper-V by Microsoft
  • PowerVM by IBM
  • Red Hat Virtualization
  • oVirt: created by RedHat
    • designed to be a cost-effective alternative to commercial virtualization programs like Microsoft Hyper-V or VMware vSphere.
    • Red Hat uses it as the upstream version of its commercial virtualization product, Red Hat Virtualization
  • Cloud Hypervisor: a special-purposed VMM, doesn't aim to be a all-functioning emulator (like QEMU), but only concerns the use case of cloud workloads.

Hypervisors used in Clouds

  • AWS:
    • Xen
    • Nitro Hypervisor: a modified KVM. For new kinds of EC2 instances.
  • Google:
    • GCE: KVM
    • Cloud Run: gVisor
  • Azure: Windows Hyper-V
  • VMware: ESXi
  • Oracle VM: Xen
  • Redhat: Red Hat Virtualization (RHV), based on KVM.