- Kernel-based Virtual Machine
name = Kernel-based Virtual Machine
caption = Screenshot of the
Windows XPboot-up process in a qemu/kvm window in Fedora 7.
latest_release_version = 75
latest_release_date = release date|2008|09|10
programming_language = C
GNU General Public Licenseor GNU Lesser General Public License
website = http://kvm.qumranet.com/kvmwiki
Kernel-based Virtual Machine (KVM) is a
Linux kernel virtualizationinfrastructure. KVM currently supports native virtualizationusing Intel VT or AMD-V. Limited support for paravirtualizationis also available for Linux guests and Windows in the form of a paravirtual network driver [ [http://article.gmane.org/gmane.comp.emulators.kvm.devel/2276 Gmane - Mail To News And Back Again ] ] , a balloon driver to affect operation of the guest virtual memory manager [ [https://db.usenix.org/events/osdi02/tech/waldspurger/waldspurger_html/node6.html 3.2 Ballooning ] ] , and CPU optimization for Linux guests. KVM is currently implemented as a loadable kernel modulealthough future versions will likely use a system callinterface and be integrated directly into the kernel [ [http://article.gmane.org/gmane.comp.emulators.kvm.devel/2632 Gmane - Mail To News And Back Again ] ] .
portsare currently being developed for s390[ [http://article.gmane.org/gmane.comp.emulators.kvm.devel/2570 Gmane - Mail To News And Back Again ] ] , PowerPC[ [http://news.gmane.org/gmane.comp.emulators.kvm.devel/2595 Gmane Loom ] ] , and IA64. The first version of KVM was included in Linux 2.6.20 (February 2007) [cite web|url=http://kerneltrap.org/node/7670|title=Linux: 2.6.20 Kernel Released|publisher=KernelTrap] . KVM has also been ported to FreeBSDas a loadable kernel module [cite web|url=http://www.freebsd.org/news/status/report-2007-07-2007-10.html#Porting-Linux-KVM-to-FreeBSD|title=FreeBSD Quarterly Status Report: Porting Linux KVM to FreeBSD] .
A wide variety of guest operating systems work with KVM, including many flavours of Linux, BSD, Solaris, Windows, Haiku,
ReactOSand AROS Research Operating System[ cite web | url = http://kvm.qumranet.com/kvmwiki/Guest_Support_Status | title = KVM wiki: Guest support status | accessdate 2007-05-27 ] . By itself, KVM does not perform any emulation. Instead, a user-space program uses the /dev/kvm interface to set up the guest VM's address space, feed it simulated I/O and map its video display back onto the host's. Currently, the only such program that does this is a modified version of QEMU.
KVM's parts are licensed under various GNU licenses [Licensing info from Ubuntu 7.04 /usr/share/doc/kvm/copyright] :
* KVM kernel module: GPL v2
* KVM user module: LGPL v2
* QEMU virtual CPU core library (libqemu.a) and QEMU PC system emulator: LGPL
* Linux user mode QEMU emulator: GPL
* BIOS files (bios.bin, vgabios.bin and vgabios-cirrus.bin): LGPL v2 or later KVM is maintained by Avi Kivity and is funded primarily by
Qumranet, a technology start up [ [http://kerneltrap.org/node/8088 Interview: Avi Kivity] on KernelTrap] , now owned by Red Hat [ [http://www.redhat.com/about/news/prarchive/2008/qumranet.html Red Hat press release on Qumranet purchase] ] .
Graphical Management Tools
Virtual Machine Managersupports creating, editing, starting, and stopping KVM based virtual machines.
* [http://xenman.sourceforge.net/ ConVirt] supports creating, editing, starting, and stopping KVM based virtual machines, as well as live or cold drag-and-drop migration of VMs between hosts.
Comparison of virtual machines
* [http://kvm.qumranet.com/ kvm homepage]
* [http://www.qumranet.com/ Qumranet homepage]
* [http://www.linuxinsight.com/finally-user-friendly-virtualization-for-linux.html First benchmarks of KVM]
* [http://www.linux-kvm.com/ News, Blogs and Resources on the Linux (KVM) Kernel-Based Virtual Machine]
Wikimedia Foundation. 2010.