Kernel alapú virtuális gép
Fejlesztette | Nyílt Virtualizációs Szövetség (OVA) |
---|---|
Utolsó verzió | 17. |
Letét | git: //git.kernel.org/pub/scm/virt/kvm/kvm.git |
Beírva | VS |
típus | Hipervizor |
Engedély | GNU General Public License és GNU Lesser General Public License |
Weboldal | http://www.linux-kvm.org |
A KVM ( kernel-alapú virtuális gép ) egy ingyenes I. típusú hipervizor a Linux számára . A KVM a 2.6.20 verzió óta van integrálva a Linux kerneljébe.
Eredetileg x86 architektúrájú processzorokon működik , Intel VT vagy AMD-V virtualizációs utasításokkal . Azóta a KVM a Power PC , IA-64 és ARM architektúrákhoz van portolva a Linux 3.9 kernel óta .
A KVM fejlesztését A Qumranet cégen belül kezdte Avi Kivity. A Red Hat megvette a Qumranetet2008. szeptember 4. Azóta a KVM-et Marcelo Tosatti fejlesztő társfenntartja .
A KVM-et a QEMU egyik ágából tervezték, majd a QEMU viszont beépítette a másik forráskódját úgy, hogy a kettő egymástól függ. A fő változás a kvm modul támogatása . Amikor KVM-ről beszélünk, általában az egészet értjük: a QEMU módosított verzióját és a kvm modult .
A QEMU a KQEMU moduljának köszönhetően ( K a Kernel számára , angolul " kernel ") képes végrehajtani a gépi kódot közvetlenül az állomásprocesszoron az emuláció felgyorsítása érdekében. Ez a technológia, bár jelentős teljesítménynövekedést biztosít, nem tökéletes. Védelmi mechanizmusokat kell létrehozni a kiváltságos események lehallgatása és utánzása érdekében. A vendégrendszer kernelkódja azonban általában teljesen privilegizált módban működik. Mivel klasszikus módon utánozzák, ezért szigorúan büntetik, miközben a rendszer kulcsfontosságú eleme.
Az x86 család processzorainak négy végrehajtási jogosultsága van, az úgynevezett védelmi gyűrűk . Ezen gyűrűk mellett a legújabb processzorok beépítenek egy új elszigetelő mechanizmust, amely lehetővé teszi a vendégrendszer közvetlen futtatását a processzoron, függetlenül a működtetéséhez szükséges védőgyűrűktől, miközben védelmet nyújt a memóriába való olvasás és írás ellen, amely nem tartozik Virtuális gép. Ez főként a processzor minden egyes virtuális gépének szentelt MMU-nak és a hardveres megszakításoknak a virtuális gépek hipervizorára (ebben az esetben KVM-re) történő átirányításának köszönhető, hogy utánozza a vendégrendszer számára szükséges hardvert.
A két nagy kohó , az AMD és az Intel által alkalmazott technológiák különböznek egymástól, a KVM modul két almodulban érhető el: kvm-intel és amd kvm-; a kvm modul végül csak azért van jelen, hogy további absztrakciót nyújtson az emulátornak .
A kvm legújabb verzióiban (legalább a 60-as verzió) lehetőség van a paravirtualizációhoz hasonló mechanizmus használatára a virtio segítségével . A kísérleti virtio a 2.6.25- ös verziótól a minimumig szerepel a kernel Linuxban . Vannak még virtio járművezetők számára a Windows . Ez a mechanizmus megnövelt végrehajtási sebességet tesz lehetővé, mert már nem szükséges hardvereszközöket utánozni. Ez a rendszer azonban szigorú értelemben kívül esik a virtualizáció hatókörén, mert a pilótákat tájékoztatni kell arról, hogy virtualizált környezetben működnek.