I-Los Abathuthukisi bephrojekthi yeNetBSD muva nje umemezele ukwakhiwa kwehypervisor entsha kanye nesitaki saso sokwenza okuhambisanayo, okuyi sezivele zifakiwe egatsheni lokuhlola le-NetBSD-yamanje futhi izonikezwa enguqulweni ezinzile yeNetBSD 9.
I-NVMM kusenjalo kukhawulelwe ekusekeleni ukwakhiwa kwe-x86_64 futhi inikela ngezinguqulo ezimbili zokusetshenziswa kwezinqubo zokwenza i-hardware.
Enye yazo i-x86-SVM enokwesekwa kokubona kwe-AMD CPU kanye nezandiso ze-x86-VMX zama-Intel CPUs.
Ngendlela yayo yamanje, kungafakwa imishini engafinyelela ku-128 ku-Host, ngayinye engabelwa kuze kufike kuma-processor cores angama-256 (ama-VCPU) nama-128GB we-RAM.
Mayelana ne-hypervisor ye-NVMM
Esethulweni salesi hypervisor, abathuthukisi bephrojekthi yeNetBSD bachaza lokho I-NVMM ifaka phakathi umshayeli osebenza ezingeni le-kernel yohlelo.
Futhi lokho futhi ixhumanisa ukufinyelela kuzinqubo zokwenza i-hardware ezenzelwe i-hardware kanye nesitaki seLibnvmm, egijima esikhaleni somsebenzisi.
Ukusebenzisana kwezakhi zekernel nesikhala somsebenzisi kwenziwa nge-IOCTL.
Isici esisodwa se-NVMM esihlukanisa nalawo ama-hypervisors afana ne-KVM, HAXM, ne-Bhyve ukuthi ezingeni le-kernel kuphela isethi ephansi edingekayo yezinqubo ze-hardware virtualization eyenziwayo futhi yonke ikhodi yokulingisa ikhompyutha isuswa ku-kernel isikhala somsebenzisi.
Le ndlela inciphisa inani lekhodi elenziwe ngamalungelo aphakeme futhi inciphise ubungozi ukuthi lonke uhlelo luyekethiswa uma kwenzeka kuhlaselwa ubungozi ku-hypervisor.
Ngokwengeziwe, ukulungisa iphutha nokuphazamisa iphrojekthi yakho kwenziwa lula kakhulu.
Ngasikhathi sinye iLibnvmm uqobo ayinayo imisebenzi ye-emulator, kepha ihlinzeka kuphela nge-API evumela ukuhlanganisa ukwesekwa kwe-NVMM kuma-emulators akhona, ngokwesibonelo ku-QEMU.
I-Virtualization API
I-API ihlanganisa imisebenzi efana nokwakha nokusebenzisa umshini obonakalayo, ukwaba inkumbulo ohlelweni lwezivakashi, nokusabalalisa i-VCPU.
Ukukhulisa ukuphepha nokunciphisa ukuthwala okungahle kwenzeke, i-libnvmm inikezela kuphela ngemisebenzi ecelwe ngokusobala.
Ngokuzenzakalelayo, izilawuli eziyinkimbinkimbi azifunwa ngokuzenzakalela futhi azinakusetshenziswa nhlobo uma zinganikezwa ngazo.
I-NVMM izama ukwenza izixazululo ezilula, ngaphandle kokuwela ezinkingeni nokuzivumela ukulawula izici eziningi zomsebenzi ngangokunokwenzeka.
Ingxenye yezinga le-kernel ye-NVMM ihlanganiswe kahle ne-NetBSD kernel futhi ikwenza ukwazi ukufeza ukusebenza okuphezulu ngokunciphisa inani lokushintshwa komongo phakathi kohlelo lokusebenza lwezivakashi nemvelo yokusingathwa.
Esikhaleni somsebenzisi, i-libnvmm izama ukufaka imisebenzi ejwayelekile ye-I / O futhi ngaphandle kwesidingo sokwenza kanjalo, ayisebenzisi izingcingo zesistimu.
Ukusebenza
Ngokungafani nabanye abashayeli be-pseudo kernel, njengeVirtualBox noma i-HAXM, I-NVMM ihlanganiswe kahle ne-NetBSD kernel futhi lokhu ivumela ukwengeza ushintsho umongo phakathi kwezihambeli nomphathi, ukugwema ukusebenza okubizayo ezimweni ezithile.
Ukuphepha
Uhlelo lokwabiwa kwememori kusekelwe ohlelweni olungaphansi lwe-pmap, que le ikuvumela ukuthi uhambise amakhasi kusuka kwimemori yezivakashi ukushintsha ukwahlukanisa uma kwenzeka kunememori ohlelweni.
I-NVMM ayinazo izingidi nezikali zomhlaba, ikuvumela ukuthi ngasikhathi sinye usebenzise ama-cores we-CPU ahlukahlukene ukusebenzisa imishini ehlukile yezivakashi.
Ngokuya nge-QEMU, isixazululo salungiswa kusetshenziswa i-NVMM ukunika amandla izindlela zokwenza i-hardware.
Umsebenzi uyaqhubeka ukufaka ama-patches alungiselelwe emshinini omkhulu we-QEMU.
Iphakheji I-QEMU + NVMM isivele ikuvumela ukuthi usebenze ngempumelelo amasistimu ezivakashi nge-FreeBSD, OpenBSD, Linux, Windows I-XP / 7 / 8.1 / 10 kanye nezinye izinhlelo ezisebenza kuma-x86_64 amasistimu anama-processor we-AMD ne-Intel (i-NVMM uqobo ayibophelelwanga ekwakhiweni okuthile)
I-backend izokwazi ukusebenza ezinhlelweni ze-ARM64). Kusuka ezindaweni ezengeziwe zohlelo lokusebenza, i-NVMM iphinde yabheka ukuzihlukanisa endaweni yokuhlolwa yomuntu ngamunye.
Umthombo: http://blog.netbsd.org