Mga Developer ng NetBSD Project
Kasama sa NVMM ang isang driver na tumatakbo sa antas ng kernel ng system at nag-coordinate ng access sa mga mekanismo ng virtualization ng hardware, at isang Libnvmm stack na tumatakbo sa espasyo ng user. Ang pakikipag-ugnayan sa pagitan ng mga bahagi ng kernel at espasyo ng gumagamit ay isinasagawa sa pamamagitan ng IOCTL. Ang isang tampok ng NVMM na naiiba ito sa mga hypervisors tulad ng KVM ay
Gayunpaman, ang Libnvmm mismo ay hindi naglalaman ng mga function ng emulator, ngunit nagbibigay lamang ng isang API na nagbibigay-daan sa iyong isama ang suporta ng NVMM sa mga umiiral na emulator, halimbawa, QEMU. Sinasaklaw ng API ang mga function tulad ng paggawa at paglulunsad ng virtual machine, paglalaan ng memory sa guest system, at paglalaan ng mga VCPU. Upang mapabuti ang seguridad at bawasan ang mga posibleng vector ng pag-atake, ang libnvmm ay nagbibigay lamang ng mga function na tahasang hinihilingβbilang default, ang mga kumplikadong humahawak ay hindi awtomatikong tinatawag at maaaring hindi magamit kung maiiwasan ang mga ito. Sinusubukan ng NVMM na panatilihing simple ang mga bagay, nang hindi nagiging masyadong kumplikado, at nagbibigay-daan sa iyong kontrolin ang maraming aspeto ng iyong trabaho hangga't maaari.
Ang kernel-level na bahagi ng NVMM ay medyo mahigpit na isinama sa NetBSD kernel, at nagbibigay-daan para sa pinahusay na pagganap sa pamamagitan ng pagbabawas ng bilang ng mga switch ng konteksto sa pagitan ng guest OS at ng host environment. Sa bahagi ng espasyo ng user, sinusubukan ng libnvmm na pagsama-samahin ang mga karaniwang operasyon ng I/O at iwasang gumawa ng mga system call nang hindi kinakailangan. Ang sistema ng paglalaan ng memorya ay batay sa subsystem ng pmap, na nagbibigay-daan sa iyong paalisin ang mga pahina ng memorya ng bisita sa swap partition kung sakaling magkaroon ng kakulangan sa memorya sa system. Ang NVMM ay walang mga pandaigdigang lock at scale, na nagbibigay-daan sa iyong sabay na gumamit ng iba't ibang CPU core para magpatakbo ng iba't ibang guest virtual machine.
Isang QEMU-based na solusyon ang inihanda na gumagamit ng NVMM para paganahin ang mga mekanismo ng virtualization ng hardware. Ang trabaho ay isinasagawa upang isama ang mga inihandang patch sa pangunahing istraktura ng QEMU. Ang kumbinasyon ng QEMU+NVMM ay na
Pinagmulan: opennet.ru