Pulojekiti ya NetBSD ikupanga NVMM hypervisor yatsopano

NetBSD Project Developers adalengeza za kulengedwa kwa hypervisor yatsopano ndi stack yogwirizana ndi virtualization, zomwe zaphatikizidwa kale mu nthambi yoyesera ya NetBSD-panopa ndipo idzaperekedwa mu kutulutsidwa kokhazikika kwa NetBSD 9. NVMM pakali pano ili ndi malire pothandizira zomangamanga za x86_64 ndipo imapereka kumbuyo kwachiwiri kwa Kuthandizira njira zama hardware: x86-SVM ndi chithandizo cha AMD ndi x86-VMX CPU virtualization extensions kwa Intel CPUs. M'mawonekedwe ake apano, ndizotheka kuyendetsa makina pafupifupi 128 pagulu limodzi, iliyonse yomwe imatha kuperekedwa mpaka 256 virtual processor cores (VCPU) ndi 128 GB ya RAM.

NVMM imaphatikizapo dalaivala yemwe amayendetsa pa kernel level ndikugwirizanitsa mwayi wopeza njira zogwiritsira ntchito hardware, ndi stack ya Libnvmm yomwe imayenda mu malo ogwiritsira ntchito. Kuyanjana pakati pa zigawo za kernel ndi malo ogwiritsira ntchito kumachitika kudzera mu IOCTL. Mbali ya NVMM yomwe imasiyanitsa ndi hypervisors monga KVM ndi Mtengo wa HAXM ndi Bhyve, ndikuti pamlingo wa kernel kokha magawo ochepera ofunikira omangika mozungulira njira za hardware virtualization amachitidwa, ndipo ma code onse otsatsira ma hardware amachotsedwa mu kernel kupita kumalo ogwiritsa ntchito. Njirayi imakupatsani mwayi wochepetsera kuchuluka kwa ma code omwe amachitidwa ndi mwayi wokwezeka ndikuchepetsa chiopsezo chosokoneza dongosolo lonse pakakhala kuukira kwa zofooka mu hypervisor. Kuphatikiza apo, kuwongolera zolakwika ndi kuyesa kwa projekiti kumakhala kosavuta.

Komabe, Libnvmm palokha ilibe ntchito za emulator, koma imangopereka API yomwe imakulolani kuti muphatikize chithandizo cha NVMM mu emulators omwe alipo, mwachitsanzo, QEMU. API imakhudza ntchito monga kupanga ndi kuyambitsa makina enieni, kugawa kukumbukira kwa alendo, ndikugawa ma VCPU. Kupititsa patsogolo chitetezo ndi kuchepetsa ma vectors omwe angathe kuukira, libnvmm imapereka ntchito zomwe zimafunsidwa mwachindunji-mwachisawawa, zogwira ntchito zovuta sizimatchedwa zokha ndipo sizingagwiritsidwe ntchito ngati zingatheke. NVMM imayesetsa kuti zinthu zikhale zosavuta, popanda kukhala zovuta kwambiri, ndikukulolani kuti muzitha kulamulira mbali zambiri za ntchito yanu momwe mungathere.

Pulojekiti ya NetBSD ikupanga NVMM hypervisor yatsopano

Gawo la kernel-level la NVMM limalumikizidwa mwamphamvu ndi NetBSD kernel, ndipo limalola kuti ntchito zitheke bwino pochepetsa kuchuluka kwa masinthidwe apakati pakati pa OS ya alendo ndi malo omwe akuchitikira. Kumbali ya danga la ogwiritsa ntchito, libnvmm imayesa kuphatikizira ntchito za I/O wamba ndikupewa kuyimba mafoni mosafunikira. Dongosolo logawa kukumbukira limakhazikitsidwa ndi pulogalamu ya pmap, yomwe imakulolani kuthamangitsa masamba okumbukira alendo kugawo losinthana ngati mukulephera kukumbukira dongosolo. NVMM ilibe maloko ndi masikelo apadziko lonse lapansi, kukulolani kuti mugwiritse ntchito nthawi imodzi ma cores osiyanasiyana a CPU kuyendetsa makina osiyanasiyana a alendo.

Yankho lochokera ku QEMU lakonzedwa lomwe limagwiritsa ntchito NVMM kuti lithandizire njira zopangira ma hardware. Ntchito ikuchitika yophatikiza zigamba zomwe zakonzedwa mugawo lalikulu la QEMU. Kuphatikiza kwa QEMU + NVMM kuli kale timatha kuyendetsa bwino machitidwe a alendo ndi FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 ndi OS ena pa x86_64 machitidwe ndi AMD ndi Intel processors (NVMM palokha siimangiriridwa ndi zomangamanga, mwachitsanzo, ngati backend yoyenera idapangidwa. , idzatha kugwira ntchito pamakina a ARM64). Zina mwa madera omwe akugwiritsanso ntchito NVMM, kudzipatula kwa sandbox kwa mapulogalamu aliwonse kumazindikiridwanso.

Pulojekiti ya NetBSD ikupanga NVMM hypervisor yatsopano

Source: opennet.ru

Kuwonjezera ndemanga