基于内核的虚拟机

基于内核的虚拟机（，縮寫為）是一种用於Linux內核中的虛擬化基礎设施，可將Linux內核轉化為一個虚拟机监视器。KVM于2007年2月5日被并入Linux 2.6.20核心中。KVM需要支持特性的处理器。。

KVM起初支持x86平台处理器并随后被移植到了、PowerPC、和IA-64平台上。在3.9内核合并时也导入了ARM移植版。

在KVM上可以运行诸多客户操作系统，包括Linux的诸多发行版、BSD、Solaris、Windows、Haiku、ReactOS、Plan 9、和OS X。除此之外，还支持Android 2.2、GNU/Hurd（Debian K16）、Minix 3.1.2a、Solaris 10 U3和Darwin 8.0.1，而其他操作系统或新版操作系统都支持KVM，仅仅存在一些限制而已。

VirtIO 在Linux、OpenBSD、FreeBSD、NetBSD、Windows上支持对部分设备的。这项特性支持半虚拟化的网卡、半虚拟化的磁盘控制器、用于调整客户端内存使用的气球设备（Balloon device）和使用獨立計算環境簡單協議的VGA图形接口。

 内部结构 

KVM提供抽象的設備，但不模擬處理器。它開放了/dev/kvm接口，供使用者模式的主機使用：
 设置客户虚拟机的地址空间。宿主机同样也需用户可用于引导进主操作系统的固件镜像（通常为模拟PC时的自定义BIOS）。
 为客户机模拟I/O。
 将客户机的视频显示映射回系统宿主机上。

在Linux上，QEMU版本0.10.1及更新版就是一个用户层主机。QEMU使用KVM以近乎原生的速度虚拟化客户机，若无KVM的话则将仅使用软件模拟。

KVM内部使用作为对16位x86 BIOS的开源模拟。

授权
KVM的组件使用多个GNU协议授权：来自Ubuntu 7.04的授权信息/usr/share/doc/kvm/copyright
 KVM内核模块：GPL v2
 KVM用户模块：LGPL v2
 QEMU虚拟CPU内核库（libqemu.a）和QEMU PC系统模拟器：LGPL
 Linux用户模式QEMU模拟器：GPL
 BIOS文件（bios.bin、vgabios.bin和vgabios-cirrus.bin）：LGPL v2或更新

历史
阿维·齐维迪（Avi Kivity）在一家名为的初创企业开始了KVM的研发工作Interview: Avi Kivity  on ，随后此公司于2008年被紅帽公司收购。

KVM被合并入Linux内核版本2.6.20的主流分支，于2007年2月5日发布。

KVM现由保罗·邦齐尼（Paolo Bonzini）维护。

 图形管理工具 

 网页版KVM虚拟化管理工具
 Virtual Machine Manager支持创建、编辑、启动与停止基于KVM的虚拟机，同时也支持对宿主之间的实时或冷拖拽虚拟机迁移。
 Proxmox虚拟环境一项开源的虚拟化管理包，包括KVM与LXC。同时它还有裸机安装器、网页版远程管理界面、HA集群堆栈、统一存储、柔性网络及可选的商业支持。
 用于管理不同数据中心基础设施的平台。
 GNOME 機櫃Linux上用于管理libvirt客户机的Gnome界面。
 用于管理基于libvirt的KVM开源工具。

 模拟硬件 
 分类  设备 显示卡     Cirrus CLGD 5446 PCI VGA卡，具有Bochs与VESA拓展的虚拟VGA卡wiki.qemu.org – QEMU Emulator User Documentation , read 2010-05-06，QXL顯示卡，使用作为虚拟3D CPU。 外设组件互连标准  主机及PCI桥与 ；Intel Q35與ICH9。 输入设备   PS/2键鼠，USB鍵鼠 声卡     、ENSONIQ AudioPCI 、、CS4231A兼容设备，Intel HD Audio 以太网 网卡    AMD Am79C970A ()、E1000（Intel 82540EM, 82573L, 82544GC）、NE2000、瑞昱、Red Hat VirtIO 儲存裝置  IDE、SATA、SCSI、SAS、NVMe、USB和VirtIO 看門狗計時器               英特尔6300ESB或IB700 随机存取存储器     介于50 MB与32 TB之间 中央处理器  1 – 160 个CPU

 另请参阅 



  (KSM)

 libguestfs
 libvirt
 开放虚拟化联盟

 OpenStack


 Xen

参考文献

 书刊目录 



外部链接

 Best practices for the Kernel-based Virtual Machine , IBM, second edition, April 2012
 Virtio-blk Performance Improvement, KVM Forum 2012, November 8, 2012, by Asias He
 Wikibook QEMU & KVM

Category:自由仿真软件
Category:用C編程的自由軟體
Category:自由虚拟化软件
Category:Linux内核功能
Category:Linux虚拟化相关软件