NetBSD Project Developers
NVMM pẹlu awakọ kan ti o nṣiṣẹ ni ipele ekuro eto ati ipoidojuko iraye si awọn ọna ṣiṣe agbara ohun elo, ati akopọ Libnvmm kan ti o nṣiṣẹ ni aaye olumulo. Ibaraṣepọ laarin awọn paati kernel ati aaye olumulo ni a ṣe nipasẹ IOCTL. Ẹya kan ti NVMM ti o ṣe iyatọ rẹ lati awọn hypervisors bii KVM jẹ
Sibẹsibẹ, Libnvmm funrararẹ ko ni awọn iṣẹ emulator ninu, ṣugbọn pese API nikan ti o fun ọ laaye lati ṣepọ atilẹyin NVMM sinu awọn emulators ti o wa, fun apẹẹrẹ, QEMU. API bo awọn iṣẹ bii ṣiṣẹda ati ifilọlẹ ẹrọ foju kan, pinpin iranti si eto alejo, ati ipin awọn VCPUs. Lati mu aabo dara ati ki o dinku awọn ipakokoro ikọlu ti o ṣeeṣe, libnvmm n pese awọn iṣẹ nikan ti o beere ni gbangba-nipasẹ aiyipada, awọn olutọju eka ko pe ni adaṣe ati pe o le ma ṣee lo rara ti wọn ba le yago fun. NVMM gbìyànjú lati jẹ ki awọn nkan rọrun, laisi idiju pupọ, ati gbigba ọ laaye lati ṣakoso ọpọlọpọ awọn aaye ti iṣẹ rẹ bi o ti ṣee.
Apa ipele-ekuro ti NVMM ti wa ni wiwọ ni wiwọ pẹlu ekuro NetBSD, ati gba laaye fun ilọsiwaju iṣẹ nipasẹ idinku nọmba awọn iyipada ipo laarin OS alejo ati agbegbe agbalejo. Ni ẹgbẹ aaye olumulo, libnvmm n gbiyanju lati ṣajọpọ awọn iṣẹ I/O ti o wọpọ ati yago fun ṣiṣe awọn ipe eto lainidi. Eto ipin iranti jẹ da lori pmap subsystem, eyiti o fun ọ laaye lati jade awọn oju-iwe iranti alejo si ipin swap ni ọran ti aito iranti ninu eto naa. NVMM jẹ ọfẹ ti awọn titiipa agbaye ati awọn irẹjẹ daradara, gbigba ọ laaye lati lo awọn ohun kohun Sipiyu oriṣiriṣi lati ṣiṣẹ awọn ẹrọ foju alejo oriṣiriṣi.
Ojutu ti o da lori QEMU ti pese sile ti o nlo NVMM lati jẹ ki awọn ẹrọ imudara ohun elo ṣiṣẹ. Iṣẹ n lọ lọwọ lati ṣafikun awọn abulẹ ti a pese silẹ ni ipilẹ akọkọ ti QEMU. Ijọpọ QEMU+NVMM ti wa tẹlẹ
orisun: opennet.ru