Kernel-based Virtual Machine

The Kernel-based Virtual Machine ( KVM) is a Linux kernel infrastructure for virtualization and runs on x86 hardware with hardware virtualization technologies from Intel ( VT) or AMD (AMD -V) and on the System z architecture. KVM was published in October 2006 and is included as of version 2.6.20 of the Linux kernel in this. It was developed by the Israeli company Qumranet and stood there under supervision by Avi Kivity. Qumranet was purchased in September 2008 by Red Hat.


KVM was initially developed for the x86 platform, which for this from the kernel module kvm.ko and from the hardware-specific modules, kvm - intel.ko (for Intel processors) or kvm - amd.ko ( for AMD Processors). Meanwhile, there are KVM for other platforms such as PowerPC, ARM and S/390. KVM itself does no emulation, but only provides the infrastructure to do so; QEMU is currently the only way to use this. These QEMU provides for virtualized guest systems the necessary devices such as hard disks, network, sound and graphics cards. After starting the module loading the Linux kernel itself works as a hypervisor for virtual machines. As a guest systems are supported KVM Linux ( 32 and 64 bit), Windows (32 and 64 bit), Haiku, AROS, ReactOS, FreeDOS, Solaris and various BSD derivatives. KVM running on SMP host systems, SMP - guest systems are also possible. The support for paravirtualization is now available in KVM and Linux using the paravirtualization interface virtio (since kernel 2.6.25 kernel included) for hard disks and network device drivers provided. For Windows also exist paravirtualized device drivers. Benefits include reduced overhead and increased performance, since the guest " knows" that it is running on virtualized hardware and cooperates with the hypervisor. Since kernel 3.1 KVM supports nested virtualization on Intel CPUs. For AMD CPUs, this has been available since version 2.6.30. Nested Virtualization enables host systems to make the virtualization support of the CPU available for the guest systems, which can virtualize as more guests.


The components of KVM is open source software and are under different versions of the GPL license are available:

  • KVM kernel module: GPL v2
  • KVM Users module: LGPL v2
  • QEMU system emulator (for x86 PC emulator ): GPL v2
  • Linux user mode QEMU: GPL v2
  • BIOS files ( bios.bin, vgabios.bin and vgabios - cirrus.bin ): LGPL v2 or later


KVM leads far more of a niche. In comparison to the products of VMware (VMware ESXi ), Microsoft ( Hyper- V) or Citrix ( XenServer ) KVM does not have a significant market share. The free hypervisor has however been integrated with kernel version 2.6.20 in the Linux kernel and is supplied with each current version. In May 2011, BMC Software, Eucalyptus Systems, HP, IBM, Intel, Red Hat and SUSE founded by the KVM for virtualization and cloud-based solutions to establish Open Virtualization Alliance ( OVA) to the market. By now includes over 200 members from around the world for Open Virtualization Alliance. The major distributors Ubuntu, Red Hat and SUSE Linux have changed with one's preferred virtualization solution for some time from Xen to KVM the novice.

Management Tools

For KVM several programs are available for control. Thus, it is possible to create virtual machines using command -line tools such as qemu / kvm or virsh. Pleasant and clear this succeeds, however, graphical front-ends such as the Virtual Machine Manager (VMM; virt -manager), AQEMU or the UCS Virtual Machine Manager. There are also solutions that enable the management over web interfaces and thus rolling out a virtual infrastructure companies. Here the oVirt project and that builds commercial Redhat Enterprise Virtualization is to call or the FOSS-Cloud, which is available as a pure open source solution available.

There are other commercial solutions for building of virtual desktop and Serverinfrastrukten such as VERDE of Virtual Bridges. These solutions, however, are so far not spread very far.


KVM is formally a type 2 hypervisor. This means that it runs in non-privileged Ring 3. To this end, a historical debate over whether KVM is really a pure type-2 hypervisor, as well as parts run in ring 0, which indicates a type 1 hypervisor.