NetBSD projektfejlesztők
Az NVMM tartalmaz egy illesztőprogramot, amely a rendszermag szintjén fut, és koordinálja a hardveres virtualizációs mechanizmusokhoz való hozzáférést, valamint egy Libnvmm-vermet, amely a felhasználói térben fut. A kernel összetevői és a felhasználói terület közötti interakció az IOCTL-n keresztül történik. Az NVMM egy olyan tulajdonsága, amely megkülönbözteti az olyan hipervizoroktól, mint a KVM
Maga a Libnvmm azonban nem tartalmaz emulátor funkciókat, csak olyan API-t biztosít, amely lehetővé teszi az NVMM támogatás integrálását a meglévő emulátorokba, például a QEMU-ba. Az API olyan funkciókat fed le, mint a virtuális gép létrehozása és elindítása, memória lefoglalása a vendégrendszer számára és VCPU-k kiosztása. A biztonság javítása és a lehetséges támadási vektorok csökkentése érdekében a libnvmm csak kifejezetten kért funkciókat biztosít – alapértelmezés szerint az összetett kezelők nem hívódnak automatikusan, és egyáltalán nem használhatók, ha elkerülhetők. Az NVMM igyekszik egyszerűvé tenni a dolgokat anélkül, hogy túl bonyolulttá válna, és lehetővé teszi, hogy a munkája lehető legtöbb aspektusát irányítsa.
Az NVMM kernelszintű része meglehetősen szorosan integrálva van a NetBSD rendszermaggal, és jobb teljesítményt tesz lehetővé a vendég operációs rendszer és a gazdagép környezet közötti kontextusváltások számának csökkentésével. A felhasználói tér oldalán a libnvmm megpróbálja összesíteni a gyakori I/O műveleteket, és elkerülni a szükségtelen rendszerhívásokat. A memóriafoglalási rendszer a pmap alrendszeren alapul, amely lehetővé teszi a vendég memórialapok kiürítését a swap partícióba, ha a rendszerben memóriahiány van. Az NVMM jól mentes a globális zárolásoktól és skálázásoktól, ami lehetővé teszi, hogy egyidejűleg különböző CPU-magokat használjon különböző vendég virtuális gépek futtatásához.
Elkészült egy QEMU-alapú megoldás, amely NVMM-et használ a hardver virtualizációs mechanizmusainak lehetővé tételére. Folyamatban van a munka annak érdekében, hogy az elkészített javításokat beépítsék a QEMU fő szerkezetébe. A QEMU+NVMM kombináció már
Forrás: opennet.ru