Kernel-based Virtual Machine

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Kernel-based Virtual Machine
Screenshot
Screenshot of qemu/kvm running NetBSD, OpenSolaris and Kubuntu on an Arch Linux host.
Stable release 88 / July 14, 2009; 8 months ago (2009-07-14)
Written in C
Operating system Linux kernel
Type Platform virtualization
License GNU General Public License or GNU Lesser General Public License
Website http://www.linux-kvm.org/

Kernel-based Virtual Machine (KVM) is a Linux kernel virtualization infrastructure. KVM currently supports native virtualization using Intel VT or AMD-V. Limited support for paravirtualization is also available for Linux guests and Windows in the form of a paravirtual network driver,[1] a paravirtual block I/O device (disk) driver,[2] a balloon driver to affect operation of the guest virtual memory manager,[3] and CPU optimization for Linux guests.

Architecture ports are currently being developed for s390,[4] PowerPC,[5] and IA64.[clarification needed] The first version of KVM was included in Linux 2.6.20 (February 2007).[6] KVM has also been ported to FreeBSD as a loadable kernel module.[7]

A wide variety of guest operating systems work with KVM, including many flavours of Linux, BSD, Solaris, Windows, Haiku, ReactOS and AROS Research Operating System[8] and a patched version of kvm is able to run Mac OS X.[9]

Contents

[edit] Design and licensing

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, feeds it simulated I/O and maps its video display back onto the host's. At least two programs exploit this feature: a modified version of Qemu and Qemu itself since version 0.10.0.

KVM's parts are licensed under various GNU licenses:[10]

  • 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,[11] now owned by Red Hat.[12]

[edit] Graphical management tools

  • Virtual Machine Manager supports creating, editing, starting, and stopping KVM based virtual machines.
  • 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.
  • Proxmox Virtual Environment Free virtualization software including KVM and OpenVZ - bare-metal installer, management GUI and optional commercial support.

[edit] Emulated hardware

Class Device
Video card VGA[13]
Sound card Sound Blaster 16[14]
Ethernet Network card AMD Am79C970A (and Am7990?)[15], E1000 (Intel 82540EM, 82573L, 82544GC) [16], NE2000[17], Realtek 8139[18]

[edit] See also

[edit] References

[edit] External links