-
Technical definition of KVM
-
Contrast KVM to Xen
- Kvm tightly integrates the hypervisor as part of the host operating system, making a single component. Xen is a more complex design, with two privileged components that are loosely integrated at best, the xen hypervisor and Dom0 host, both of which need to function for the node to function.
- The kvm project was started by Qumranet (now part of Red Hat) in October 2006: it was ready to be submitted to the upstream kernel developers by December 2006 and was accepted in the 2.6.20 kernel one month later, adding about 40000 lines of code to Linux kernels and kernel features as they are developed.
- One example of how this integration helps is in power management. This is a hard area to implement in operating systems; in KVM, a small amount of glue code allowed the hypervisor to be tied into automatic frequency scaling and suspend/resume support with running virtual machines with a small amount of glue code KVM also inherits real-time and SELinux features from the kernel, as another example.
- The main limitation of KVM compared to xen is that is does not support full guest paravirtualization; KVM requires modern processors with support for native virtualization. However, KVM does support paravirtualized devices which can be used to speed up disk or network I/O if the guest operating system has appropriate device drivers installed and configured. As with xen sufficient physical RAM and disk space for each guest must be provided.
- KVM and Memory management :-- One nice thing about KVM memory management is that the “physical” memory seen by the guest operating system in its virtual machine is just a chunk of virtual memory allocated to a qemu-kvm process on the host. The host