Iyo NetBSD purojekiti iri kugadzira itsva NVMM hypervisor

NetBSD Project Developers yakaziviswa nezve kusikwa kwe hypervisor itsva uye yakabatana virtualization stack, iyo yakatobatanidzwa mukuedza NetBSD-ikozvino bazi uye ichagoverwa mukusunungurwa kwakagadzikana kweNetBSD 9. NVMM parizvino inongogumira pakutsigira x86_64 architecture uye inopa maviri backends inogonesa hardware virtualization maitiro: x86-SVM ine rutsigiro rwe AMD uye x86-VMX CPU virtualization ekuwedzera yeIntel CPUs. Mune chimiro chayo chazvino, zvinokwanisika kumhanya kusvika ku128 chaiwo muchina pane imwe chete host, imwe neimwe inogona kugoverwa kusvika ku256 virtual processor cores (VCPU) uye 128 GB ye RAM.

NVMM inosanganisira mutyairi anomhanya padanho re kernel uye anoronga kupinda kune hardware virtualization maitiro, uye Libnvmm stack inomhanya munzvimbo yemushandisi. Kudyidzana pakati pezvikamu zve kernel nenzvimbo yemushandisi kunoitwa kuburikidza neIOCTL. Chinhu cheNVMM chinochisiyanisa kubva kune hypervisors seKVM ndeye HAXM uye Bhyve, ndeyekuti padanho re kernel chete ishoma inodiwa seti yezvisungo zvakatenderedza Hardware virtualization michina inoitwa, uye ese emulation kodhi yehardware inoburitswa kunze kwekernel ichiiswa munzvimbo yemushandisi. Iyi nzira inokubvumira kuti uderedze huwandu hwekodhi hunoitwa neropafadzo dzakakwirira uye kuderedza njodzi yekukanganisa iyo yose hurongwa kana pakaitika kurwiswa kwekushaya simba mu hypervisor. Uye zvakare, kugadzirisa uye kubhejera kuyedzwa kweprojekiti kunooneka nyore.

Nekudaro, Libnvmm pachayo haina emulator mabasa, asi inopa chete API inobvumidza iwe kubatanidza NVMM rutsigiro mumaemulator aripo, semuenzaniso, QEMU. Iyo API inovhara mabasa akadai sekugadzira uye kuvhura muchina chaiwo, kugovera ndangariro kune yevaenzi sisitimu, uye kugovera VCPUs. Kuti uvandudze kuchengeteka uye kuderedza zvinogona kurwisa mavectors, libnvmm inopa chete mabasa anokumbirwa zvakajeka-nekusagadzika, vabati vakaoma havadanwe pakarepo uye vangasashandiswa zvachose kana vachigona kudzivirirwa. NVMM inoedza kuita kuti zvinhu zvive nyore, pasina kuomesesa, uye zvichikubvumidza kuti udzore akawanda maficha ebasa rako sezvinobvira.

Iyo NetBSD purojekiti iri kugadzira itsva NVMM hypervisor

Iyo kernel-level chikamu cheNVMM chakanyatso kubatanidzwa neNetBSD kernel, uye inobvumira kuvandudzwa kwekuita nekudzikisa huwandu hwekuchinja kwemamiriro pakati pemuenzi OS nenzvimbo yekutambira. Padivi remushandisi nzvimbo, libnvmm inoedza kuunganidza zvakajairwa I/O mashandiro uye kudzivirira kuita mafoni ehurongwa zvisina basa. Iyo memory allocation system yakavakirwa pane iyo pmap subsystem, iyo inokutendera iwe kudzinga muenzi mapeji ekurangarira kune iyo swap partition kana paine kushomeka kwendangariro muhurongwa. NVMM haina makiyi epasirese uye zvikero zvakanaka, zvichikubvumidza kuti ushandise akasiyana CPU cores kumhanya akasiyana evaenzi chaiwo michina.

Iyo QEMU-yakavakirwa mhinduro yakagadziriswa inoshandisa NVMM kugonesa hardware virtualization maitiro. Basa riri kuenderera mberi rekubatanidza zvigamba zvakagadzirirwa muchimiro chikuru cheQEMU. Iyo QEMU+NVMM musanganiswa watove Kunoitawo zvinobudirira kumhanya hurongwa hwevaenzi neFreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 uye imwe OS pane x86_64 masisitimu ane AMD uye Intel processors (NVMM pachayo haina kusungirirwa kune chaiyo architecture, semuenzaniso, kana iyo yakakodzera backend yagadzirwa. , ichakwanisa kushanda paARM64 systems). Pakati penzvimbo dzekuwedzera kushandiswa kweNVMM, kuparadzaniswa kwebhokisi rejecha remunhu wega application kunocherechedzwa zvakare.

Iyo NetBSD purojekiti iri kugadzira itsva NVMM hypervisor

Source: opennet.ru

Voeg