KVM-Architektur
Die Kernel-based Virtual Machine setzt auf die Vollständige Virtualisierung (Typ-2-Hypervisor) und läuft unter Linux ab Kernel-Version 2.6.20. Bestandteile sind die Kernel-Module kvm.ko, die hardwarespezifischen Module kvm-intel.ko oder kvm-amd.ko und die Gerätedatei /dev/kvm. Nach dem Laden der Module arbeitet der Linux-Kernel selbst als Hypervisor. KVM selbst stellt keine virtuelle Hardware zur Verfügung, dies übernimmt QEMU. Viele Linux-Distributionen bieten QEMU und KVM als ein Paket (qemu-kvm) an.
Während Xen, Hyper-V und ESXi Typ-1 Virtual Machine Monitors (VMMs) sind, bei denen der Hypervisor in Ring 0 der CPU läuft, hält sich bei KVM, Virtual Server, VirtualBox, Parallels, VMware Workstation, etc., der VMM in Ring 3 wie eine Applikation auf. Aufgrund seiner Fähigkeit, Hardware-Virtualisierungsfeatures der CPU zu nutzen, entspricht die Performance von KVM jedoch eher derjeniger der Typ1-Hypervisor.
Schichten und Komponenten von KVM:
• Die CPU-Virtualisierung wird durch Features des Prozessors bereitgestellt (Intel VT bzw. AMD-V).
• Der Speicher wird durch KVM virtualisiert.
• IO wird durch einen QEMU-Prozess je Gast virtualisiert.
KVM wird manchmal scherzhaft auch als CPU-Beschleuniger für QEMU bezeichnet. Die Gäste würden auch ohne KVM und nur mit QEMU laufen, jedoch erheblich träger.