Morero oa NetBSD o ntse o hlahisa hypervisor e ncha ea NVMM

Baetsi ba Morero oa NetBSD tsebisitsoe mabapi le ho thehoa ha hypervisor e ncha le stack e amanang le virtualization, e seng e kenyelelitsoe lekaleng la NetBSD-hona joale le tla fanoa ka tokollo e tsitsitseng ea NetBSD 9. NVMM hajoale e lekanyelitsoe ho tšehetsa mohaho oa x86_64 mme e fana ka li-backend tse peli bakeng sa e nolofalletsang mekhoa ea ntlafatso ea hardware: x86-SVM e nang le tšehetso ea AMD le x86-VMX CPU virtualization extensions bakeng sa Intel CPUs. Ka sebopeho sa eona sa hajoale, hoa khoneha ho tsamaisa mechini e ka bang 128 ho moamoheli a le mong, eo e 'ngoe le e' ngoe e ka abeloang ho fihla ho 256 virtual processor cores (VCPU) le 128 GB ea RAM.

NVMM e kenyelletsa mokhanni ea tsamaeang maemong a kernel ea sistimi mme a hokahanya phihlello ea lisebelisoa tsa lisebelisoa tsa hardware, le stack ea Libnvmm e tsamaeang sebakeng sa mosebelisi. Tšebelisano lipakeng tsa likarolo tsa kernel le sebaka sa mosebelisi e etsoa ka IOCTL. Karolo ea NVMM e e khethollang ho li-hypervisors tse kang KVM ke HAXM le Bhyve, ke hore boemong ba kernel ho etsoa feela sete e fokolang e hlokahalang ea li-bindings tse pota-potileng lisebelisoa tsa hardware, 'me khoutu eohle ea ho etsisa hardware e tlosoa ka har'a kernel ho ea sebakeng sa mosebedisi. Mokhoa ona o u lumella ho fokotsa palo ea khoutu e entsoeng ka litokelo tse phahameng le ho fokotsa kotsi ea ho sekisetsa tsamaiso eohle ha ho hlaseloa ke bofokoli ho hypervisor. Ho feta moo, tlhahlobo ea debugging le fuzzing ea projeke e nolofalitsoe ka mokhoa o hlakileng.

Leha ho le joalo, Libnvmm ka boeona ha e na mesebetsi ea emulator, empa e fana feela ka API e u lumellang ho kopanya tšehetso ea NVMM ho li-emulators tse teng, mohlala, QEMU. API e akaretsa mesebetsi e kang ho theha le ho qala mochine oa sebele, ho fana ka mohopolo ho tsamaiso ea baeti, le ho aba li-VCPU. Ho ntlafatsa ts'ireletso le ho fokotsa li-vectors tse ka khonehang tsa tlhaselo, libnvmm e fana feela ka mesebetsi e kōptjoang ka ho hlaka-ka ho feletseng, li- handlers tse rarahaneng ha li bitsoe ka mokhoa o ikemetseng 'me li ka' na tsa se ke tsa sebelisoa ho hang haeba li ka qojoa. NVMM e leka ho boloka lintho li le bonolo, ntle le ho rarahana haholo, le ho u lumella ho laola likarolo tse ngata tsa mosebetsi oa hau kamoo ho ka khonehang.

Morero oa NetBSD o ntse o hlahisa hypervisor e ncha ea NVMM

Karolo ea boemo ba kernel ea NVMM e kopantsoe ka thata le kernel ea NetBSD, 'me e lumella ts'ebetso e ntlafetseng ka ho fokotsa palo ea liphetoho tsa moelelo pakeng tsa OS ea moeti le tikoloho ea moeti. Ka lehlakoreng la sebaka sa basebelisi, libnvmm e leka ho kopanya ts'ebetso e tloaelehileng ea I/O le ho qoba ho etsa mehala ea sistimi ho sa hlokahale. Sistimi ea kabo ea memori e ipapisitse le "pmap subsystem", e u lumellang ho leleka maqephe a memori ea baeti ho karohano ea swap haeba ho na le khaello ea memori tsamaisong. NVMM ha e na liloko le likala tsa lefats'e hantle, tse u lumellang hore ka nako e le 'ngoe u sebelise li-cores tse fapaneng tsa CPU ho tsamaisa mechini e fapaneng ea baeti.

Tharollo e thehiloeng ho QEMU e hlophisitsoe e sebelisang NVMM ho nolofalletsa mekhoa ea ho sebelisa lisebelisoa tsa hardware. Mosebetsi o ntse o tsoela pele oa ho kenyelletsa likhechana tse lokisitsoeng mohahong o moholo oa QEMU. Motsoako oa QEMU + NVMM o se o ntse o le teng e lumella ka katleho ho tsamaisa litsamaiso tsa baeti ka FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 le OS tse ling ho x86_64 litsamaiso tse nang le li-processor tsa AMD le Intel (NVMM ka boeona ha e tlameletsoe moahong o itseng, mohlala, haeba ho bōptjoa backend e nepahetseng. , e tla khona ho sebetsa ho litsamaiso tsa ARM64). Har'a libaka tsa ts'ebeliso e tsoelang pele ea NVMM, ho aroloa ha sandbox ea likopo tsa motho ka mong ho boetse ho hlokomeloa.

Morero oa NetBSD o ntse o hlahisa hypervisor e ncha ea NVMM

Source: opennet.ru

Eketsa ka tlhaloso