A hypervisor also known as a virtual machine monitor (VMM) is a system by which virtualization can be achieved. There are two types of hypervisors:
Type-1 hypervisor: A Type-1 hypervisor runs on the bare metal hardware. For Example, Citrix XenServer uses this kind of arrangement. In this type of arrangement many guest operating systems can be run as given below. An instruction which needs to be executed only in the kernel mode is known as a sensitive instruction. These includes I/O instructions, or instructions which can change internal registers, etc. When the sensitive instruction is executed by guest operating system, then a trap to kernel mode occurs. The kernel mode is handled by the hypervisor.
Type-2 hypervisor: A Type-1 hypervisor runs on the host operating system. The host operating system is a regular operating system like Windows, Linux, etc. It uses a guest operating system which runs on top of the hypervisor. This type of implementation is used in VMware Workstation.
Paravirtualization: It is a process of achieving virtualization where execution of sensitive instructions are removed permanently. Instead, hypervisor calls are made to the hypervisor. Here, a hypervisor behaves like a microkernel.