- Kernel-based Virtual Machine
Infobox_Software
name = Kernel-based Virtual Machine
logo =
caption = Screenshot of theWindows XP boot-up process in a qemu/kvm window in Fedora 7.
developer =
latest_release_version = 75
latest_release_date = release date|2008|09|10
operating_system =Linux kernel
programming_language = C
genre =Virtualization
license =GNU General Public License orGNU Lesser General Public License
website = http://kvm.qumranet.com/kvmwikiKernel-based Virtual Machine (KVM) is a
Linux kernel virtualization infrastructure. KVM currently supportsnative virtualization using Intel VT or AMD-V. Limited support forparavirtualization is 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 aloadable kernel module although future versions will likely use asystem call interface and be integrated directly into the kernel [ [http://article.gmane.org/gmane.comp.emulators.kvm.devel/2632 Gmane - Mail To News And Back Again ] ] .Architecture
ports are currently being developed fors390 [ [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 ] ] , andIA64 . 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 toFreeBSD as 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,
ReactOS andAROS 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 ofQEMU .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 byQumranet , a technology start up [ [http://kerneltrap.org/node/8088 Interview: Avi Kivity] onKernelTrap ] , 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 Manager supports 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.See also
*
Comparison of virtual machines
*Lguest
*Xen References
External links
* [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.