KVM stands for Kernel Based Virtualization.

Kernel based virtualization was implemented to get the advantage of hardware assisted virtualization support given by the new generation of Intel and AMD CPU’s.

During initial stages of development of virtualization technology the CPUs where fully emulated by the software which eventually lacked in performance because of absence of direct hardware access.

The following are some of the features and benefits of Kernel based virtualization.

 

  • With help of KVM module, it manages the performance critical parts of interrupts and timers by kernel based I/O emulation. It gives a capability to set limit on I/O request between virtual machine and host.
  • The KVM module allows here emulation for CPU modes not supported by physical processor and the instructions.
  • KVM module used is a part of the upstream Linux kernel as it’s added to it for enhancing virtualization.
  • KVM module used here provides common interface for both Intel and AMD x86 processors which supports hardware virtualization. For Intel it is known as Intel VMX hardware assist for virtualization and for AMD it is known as AMD SVM hardware assist for virtualization.
  • It creates a bare-metal hypervisor out of the kernel. We can say it creates a native hypervisor.
  • Leverages the capability of MMU (Memory management unit) in hardware to virtualize the memory with improvement in performance.
  • A virtual machine created by it is a standard Linux process, scheduled by its native standard Linux scheduler.
  • It supports Intel’s EPT (Extended Page Table) and AMD’s RVI (Rapid virtualization indexing) features for memory virtualization by CPU vendors.
  • Its supports all the file system supported by mainstream Linux kernel.