pienoiskuva|Korkean tason yleiskuvaus KVM/QEMU-arkkitehtuurista. Kernel-based Virtual Machine eli KVM on Linux-ytimeen rakennettu tuki virtualisoinnille. KVM on julkaistu Linux versiossa 2.6.20 helmikuussa 2007. KVM projektista ilmoitti ensimmäisen kerran sen aloittaja Avi Kivity 19. lokakuuta 2006 viestissä Linux Kernel -postituslistalle. KVM on tyypin 1 (suoraan laitteistolla ajettava) hypervisor, joka hyödyntää Linux-ytimen ominaisuuksia ja suorittaa virtuaalikoneita tavallisina prosesseina. Kaikki hypervisorit tarvitsevat käyttöjärjestelmätason toimintoja kuten muistinhallinnan, laiteajurit ja verkkopinon, jotka KVM saa käyttöönsä koska se toimii Linux-ytimessä. KVM tukee virtualisointia ilman muutoksia vieraskäyttöjärjestelmiin.

KVM vaatii suorittimelta tukea virtualisoinnille käskykantalaajennuksien avulla. KVM ei suorita eri suorittimen tai muun laitteiston emulointia vaan tämä on erillisen käyttäjäavaruudessa sijaitsevan ohjelman tehtävä. Käyttäjäavaruudessa käytettävä osa on QEMU:ssa. KVM-virtualisointia voi hallinnoida libvirt-kirjaston avulla sitä käyttävistä sovelluksista.

KVM on kehitetty aluksi Intelin Intel VT (VMX) ja AMD:n AMD-V (SVM) käskyille. Useat suoritinvalmistajat ovat tukeneet KVM:n kehitystä: Intel lisäsi tuen IA64-alustalle; IBM lisäsi tuen S/390- ja POWER-alustoille; ARM Holdings ja Linaro tukivat ARM-version kehitystä; Imagination Technologies lisäsi MIPS-alustan tuen.

KVM on tuettu IBM Z -alustalla. RISC-V-suorittimen tuki on liitetty versioon 5.16.

IBM on julkaissut KVM:ään Power-arkkitehtuurilla käytettävän tuen suojatuille virtuaalikoneille ultravisor-virtualisoinnilla. AMD:n SEV-tuella voidaan salata virtuaalikoneiden muistit yksilöllisellä avaimella esimerkiksi pilvipalveluympäristöissä.

Useat eri käyttöjärjestelmät toimivat KVM:n kanssa täydellä virtualisoinnilla vieraskäyttöjärjestelminä. KVM ei tue suorittimen paravirtualisointia, mutta tukee laiteajurien kanssa virtio-rajapinnalla. KVM tukee käynnissä olevan virtuaalikoneen siirtoa isännältä toiselle (live migration) versiosta 15 lähtien (2007). AWS Firecracker perustuu KVM-hypervisorille.

KVM:n ylläpitäjä on Red Hatille työskentelevä Paolo Bonzini.

Katso myös VMWare Xen

Lähteet

Aiheesta muualla KVM-projektin kotisivu KVM Forum Memory protection in Android using KVM The Definitive KVM (Kernel-based Virtual Machine) API Documentation

Luokka:Linux-ydin Luokka:Virtualisointiohjelmistot