Mradi wa NetBSD unatengeneza hypervisor mpya ya NVMM

Watengenezaji wa Mradi wa NetBSD alitangaza kuhusu uundaji wa hypervisor mpya na mkusanyiko unaohusiana wa uboreshaji, ambao tayari umejumuishwa kwenye tawi la majaribio la NetBSD-sasa na utatolewa katika toleo thabiti la NetBSD 9. NVMM kwa sasa ina kikomo cha kusaidia usanifu wa x86_64 na hutoa viambajengo viwili vya kuwezesha mifumo ya uboreshaji wa maunzi: x86-SVM inayoauni viendelezi vya uboreshaji wa AMD na x86-VMX CPU kwa Intel CPUs. Katika hali yake ya sasa, inawezekana kukimbia hadi mashine 128 za kawaida kwenye jeshi moja, ambayo kila moja inaweza kutengwa hadi 256 cores virtual processor (VCPU) na 128 GB ya RAM.

NVMM inajumuisha kiendeshi kinachoendesha katika kiwango cha kernel ya mfumo na kuratibu ufikiaji wa mifumo ya uboreshaji wa maunzi, na safu ya Libnvmm inayoendesha katika nafasi ya mtumiaji. Mwingiliano kati ya vipengele vya kernel na nafasi ya mtumiaji unafanywa kupitia IOCTL. Kipengele cha NVMM ambacho huitofautisha na hypervisors kama vile KVM ni HAXM na Bhyve, ni kwamba katika kiwango cha kernel ni seti ya chini kabisa inayohitajika ya vifungo karibu na mifumo ya uboreshaji wa maunzi inafanywa, na msimbo wote wa uigaji wa maunzi hutolewa nje ya kernel hadi kwenye nafasi ya mtumiaji. Njia hii inakuwezesha kupunguza kiasi cha msimbo unaotekelezwa na marupurupu ya juu na kupunguza hatari ya kuathiri mfumo mzima katika tukio la mashambulizi ya udhaifu katika hypervisor. Kwa kuongezea, utatuzi na upimaji wa fuzzing wa mradi umerahisishwa dhahiri.

Hata hivyo, Libnvmm yenyewe haina kazi za emulator, lakini hutoa tu API ambayo inakuwezesha kuunganisha usaidizi wa NVMM katika emulators zilizopo, kwa mfano, QEMU. API inashughulikia utendakazi kama vile kuunda na kuzindua mashine pepe, kuweka kumbukumbu kwa mfumo wa wageni, na kutenga VCPU. Ili kuboresha usalama na kupunguza vienezaji vinavyoweza kushambulia, libnvmm hutoa utendakazi tu ambazo zimeombwa waziwaziβ€”kwa chaguo-msingi, vishikilizi changamano havipigiwi simu kiotomatiki na huenda visitumike kabisa ikiwa vinaweza kuepukwa. NVMM inajaribu kufanya mambo kuwa rahisi, bila kuwa magumu sana, na kukuruhusu kudhibiti vipengele vingi vya kazi yako iwezekanavyo.

Mradi wa NetBSD unatengeneza hypervisor mpya ya NVMM

Sehemu ya kiwango cha kernel ya NVMM imeunganishwa kwa uthabiti kabisa na kerneli ya NetBSD, na inaruhusu utendakazi ulioboreshwa kwa kupunguza idadi ya swichi za muktadha kati ya OS ya mgeni na mazingira ya mwenyeji. Kwa upande wa nafasi ya mtumiaji, libnvmm inajaribu kujumlisha shughuli za kawaida za I/O na kuepuka kupiga simu za mfumo bila sababu. Mfumo wa ugawaji kumbukumbu unatokana na mfumo mdogo wa pmap, ambao hukuruhusu kufukuza kurasa za kumbukumbu za wageni kwenye sehemu ya kubadilishana ikiwa kuna uhaba wa kumbukumbu kwenye mfumo. NVMM haina kufuli na mizani ya kimataifa vizuri, hukuruhusu kutumia kwa wakati mmoja cores tofauti za CPU kuendesha mashine tofauti za wageni.

Suluhisho la msingi wa QEMU limetayarishwa ambalo linatumia NVMM kuwezesha mifumo ya uboreshaji wa maunzi. Kazi inaendelea ya kujumuisha viraka vilivyotayarishwa katika muundo mkuu wa QEMU. Mchanganyiko wa QEMU+NVMM tayari uko inaruhusu kwa ufanisi kuendesha mifumo ya wageni na FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 na OS nyingine kwenye mifumo ya x86_64 na wasindikaji wa AMD na Intel (NVMM yenyewe haijaunganishwa na usanifu maalum, kwa mfano, ikiwa backend inayofaa imeundwa. , itaweza kufanya kazi kwenye mifumo ya ARM64 ). Miongoni mwa maeneo ya matumizi zaidi ya NVMM, kutengwa kwa sandbox ya maombi ya mtu binafsi pia kunajulikana.

Mradi wa NetBSD unatengeneza hypervisor mpya ya NVMM

Chanzo: opennet.ru

Kuongeza maoni