Ko te kaupapa NetBSD kei te whakawhanake i te NVMM hypervisor hou

Nga Kaihanga Kaupapa NetBSD i panuihia e pā ana ki te hanganga o te hypervisor hou me te tāpae mariko e whai pānga ana, kua whakauruhia ki roto i te manga whakamatautau NetBSD-naianei ka tukuna i roto i te tuku pumau o NetBSD 9. I tenei wa ka iti te NVMM ki te tautoko i te hoahoanga x86_64 me te whakarato e rua nga tuara mo te whakaahei i nga mahi marikotanga taputapu: x86-SVM me te tautoko mo nga toronga mariko mariko AMD me te x86-VMX mo nga PTM Intel. I roto i tona ahua o naianei, ka taea te rere ki runga ki te 128 miihini mariko i runga i tetahi kaihautu, ka taea te tohatoha ki ia waahanga ki te 256 nga waahanga tukatuka mariko (VCPU) me te 128 GB o RAM.

Kei roto i te NVMM tetahi taraiwa e rere ana i te taumata kernel punaha me te whakarite i te uru ki nga taputapu mariko mariko, me te puranga Libnvmm e rere ana i te waahi kaiwhakamahi. Ko te taunekeneke i waenga i nga waahanga kernel me te waahi kaiwhakamahi ka mahia ma te IOCTL. Ko tetahi ahuatanga o te NVMM e wehewehe ana i nga kaitoro penei i a KVM HAXM me Bhyve, kei te taumata o te pata anake te huinga herenga iti e hiahiatia ana i te taha o nga miihini mariko taputapu ka mahia, ka nekehia nga waehere whakaurunga taputapu katoa mai i te kernel ki te waahi kaiwhakamahi. Ma tenei huarahi ka taea e koe te whakaiti i te nui o te waehere ka mahia me nga mana teitei me te whakaiti i te tupono ki te whakararu i te punaha katoa mena ka whakaekehia nga whakaraeraetanga o te hypervisor. I tua atu, ko te whakamohio me te whakamaaramatanga o te kaupapa ka tino ngawari.

Heoi, ko Libnvmm ake kaore he mahi emulator, engari he API anake e taea ai e koe te whakauru i te tautoko NVMM ki nga emulator o naianei, hei tauira, QEMU. Ko te API e hipoki ana i nga mahi penei i te hanga me te whakarewa i te miihini mariko, te tohatoha mahara ki te punaha manuhiri, me te tohatoha i nga VCPU. Hei whakapai ake i te haumarutanga me te whakaiti i nga vector whakaeke ka taea, ka tukuna e libnvmm nga mahi e tino tonohia ana—ma te taunoa, karekau nga kaikawe matatini e karanga aunoatia ana karekau pea e whakamahia mena ka taea te karo. Ka ngana a NVMM ki te pupuri i nga mea ngawari, me te kore e tino uaua, me te tuku i a koe ki te whakahaere i nga waahanga maha o to mahi ka taea.

Ko te kaupapa NetBSD kei te whakawhanake i te NVMM hypervisor hou

Ko te waahanga taumata-kerau o te NVMM kua tino honoa ki te pata NetBSD, ka taea te whakapai ake i nga mahi ma te whakaiti i te maha o nga huringa horopaki i waenga i te OS manuhiri me te taiao manaaki. I te taha o te mokowā kaiwhakamahi, ka ngana a libnvmm ki te whakahiato i nga mahi I/O noa me te karo i nga waea punaha kaore e tika. Ko te punaha toha mahara kei runga i te pmap subsystem, e taea ai e koe te pana atu i nga wharangi mahara manuhiri ki te wehenga whakawhiti mena he ngoikore te mahara ki te punaha. Ko te NVMM kaore he raka o te ao me nga unahi pai, ka taea e koe te whakamahi i nga waahanga CPU rereke hei whakahaere i nga miihini mariko manuhiri.

Kua whakaritea he otinga a-QEMU e whakamahi ana i te NVMM hei whakaahei i nga taputapu mariko. Kei te haere tonu nga mahi ki te whakauru i nga papanga kua oti te whakarite ki te hanganga matua o QEMU. Ko te huinga QEMU+NVMM kua oti āhei te reira i pai te whakahaere i nga punaha manuhiri me FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 me etahi atu OS i runga i nga punaha x86_64 me nga punaha AMD me Intel (kaore ano te NVMM e herea ki tetahi hoahoanga motuhake, hei tauira, mena ka hangaia te tuara tika. , ka taea te mahi i runga i nga punaha ARM64). I roto i nga waahanga o te tono atu o te NVMM, ka tuhia ano te wehenga o te kirikiri o nga tono takitahi.

Ko te kaupapa NetBSD kei te whakawhanake i te NVMM hypervisor hou

Source: opennet.ru

Tāpiri i te kōrero