VMM(Virtual Machine Monitor)/Hypervisor
-
Creates multiple (virtual) machines on the same physical hardware.Each
Guest VM directs the system calls to kernel using VMM. VMM traps into
kernel.
Major Hypervisors:
1. XEN: Open source Linux based type-1.
2. VMWARE ESXI:
3. HYPER-V: Hypervisor by Microsoft.
3A. AZURE Runs on customized version of Hyper V. Its hardened and stripped down.
4. KVM: Open source Linux based. Used in RHEV(Redhat Enterprise Virtualization).
Types of Hypervisor
| 1. TYPE-1/NATIVE/BARE-METAL/ESXI | 2. TYPE-2/Hosted Hypervisor | |
|---|---|---|
| Description |
Run directly on the host’s hardware. Eg: Citrix Xenserver, microsoft
Hyper-V, VMWare ESX/ESXi Equivalent to OS of system |
Run as a software layer on an operating system, like other computer programs. Eg: VMWare Work Station, VM-Ware Player, Virtual box, QEMU |
| How it works |
Type 1 VMM is divided into
Protection rings. Ring3(User processes), Ring2, Ring1(guest VM kernel) lies in Guest VM while Ring0(kernel mode) lies in hypervisor User process issues system call, it reaches Ring1(it does sanity checks), reaches Ring0(perform instructions)
|
Problem? Since Type-2 Hypervisor itself is not in kernel space, if
some user want to install some ISR or signal handler how he can
do? Solution: Type 2 hypervisors therefore have a kernel module operating in ring 0 |