Kernel-based Virtual Machine (KVM) is virtualization infrastructure for the Linux Kernel that turns it into a hypervisor. It was merged into the Linux kernel mainline in kernel version 2.6.20, which was released on February 5, 2007.KVM requires a processor with hardware virtualization extension. KVM has also been ported to FreeBSD and illumos in the form of loadable kernel modules.
A wide variety of guest operating systems work with KVM, including many flavours and versions of Linux, BSD ,Solaris ,Windows ,Haiku ,ReactOS ,Plan9 ,AROS Research Operating System and OS X.
Avi Kivity began the development of KVM at Qumranet, a technology startup comapany that was acquired by Red Hat in 2008. KVM was merged into the Linux kernel mainline in kernel version 2.6.20, which was released on 5 February 2007. KVM is maintained by Paolo Bonzini.Stable release was on 1.2.0 on September 5, 2012.
By itself, KVM does not perform any emulation. Instead, it exposes the /dev/kvm interface, which a userspace host can then use to: 1.Set up the guest VM's address space. The host must also supply a firmware image (usually a custom BIOS when emulating PCs) that the guest can use to bootstrap into its main OS. 2.Feed the guest simulated I/O. 3.Map the guest's video display back onto the host. On Linux,QEMU versions 0.10.1 and later is one such userspace host. QEMU uses KVM when available to virtualize guests at near-native speeds, but otherwise falls back to software-only emulation.