Ise agbese NetBSD n ṣe agbekalẹ hypervisor NVMM tuntun kan

NetBSD Project Developers kede nipa awọn ẹda ti a titun hypervisor ati awọn nkan awọn ipa ọna akopọ, eyi ti o ti wa tẹlẹ to wa ninu esiperimenta NetBSD-lọwọlọwọ eka ati ki o yoo wa ni ti a nṣe ni idurosinsin Tu ti NetBSD 9. NVMM ti wa ni Lọwọlọwọ ni opin si atilẹyin x86_64 faaji ati ki o pese meji backends fun. muu awọn ọna ṣiṣe agbara ohun elo: x86-SVM pẹlu atilẹyin fun AMD ati awọn amugbooro agbara agbara CPU x86-VMX fun Intel CPUs. Ni awọn oniwe-lọwọlọwọ fọọmu, o jẹ ṣee ṣe lati ṣiṣe soke 128 foju ero lori ọkan ogun, kọọkan ti eyi ti o le wa ni soto soke si 256 foju isise ohun kohun (VCPU) ati 128 GB ti Ramu.

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ẹ HAXM ati Bhyve, ni pe ni ipele ekuro nikan ni ipilẹ ti o kere julọ ti awọn abuda ni ayika awọn ilana imudara ohun elo ni a ṣe, ati pe gbogbo koodu emulation hardware ti gbe jade kuro ninu ekuro sinu aaye olumulo. Ọna yii ngbanilaaye lati dinku iye koodu ti a ṣe pẹlu awọn anfani ti o ga ati dinku eewu ti ibajẹ gbogbo eto ni iṣẹlẹ ti awọn ikọlu lori awọn ailagbara ninu hypervisor. Ni afikun, n ṣatunṣe aṣiṣe ati idanwo iruju ti ise agbese na ni akiyesi irọrun.

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.

Ise agbese NetBSD n ṣe agbekalẹ hypervisor NVMM tuntun kan

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ẹ ti o faye gba ni ifijišẹ ṣiṣe awọn ọna ṣiṣe alejo pẹlu FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 ati OS miiran lori awọn ọna ṣiṣe x86_64 pẹlu AMD ati awọn ilana Intel (NVMM funrararẹ ko ni asopọ si faaji kan pato, fun apẹẹrẹ, ti o ba ṣẹda ẹhin ti o yẹ. , yoo ni anfani lati ṣiṣẹ lori awọn ọna ṣiṣe ARM64). Lara awọn agbegbe ti ohun elo siwaju sii ti NVMM, ipinya apoti iyanrin ti awọn ohun elo kọọkan ni a tun ṣe akiyesi.

Ise agbese NetBSD n ṣe agbekalẹ hypervisor NVMM tuntun kan

orisun: opennet.ru

Fi ọrọìwòye kun