NetBSD Project pamekar
NVMM kalebet supir anu dijalankeun dina tingkat kernel sistem sareng koordinat aksés kana mékanisme virtualisasi hardware, sareng tumpukan Libnvmm anu dijalankeun dina rohangan pangguna. Interaksi antara komponén kernel sareng rohangan pamaké dilaksanakeun ngaliwatan IOCTL. Fitur NVMM anu ngabédakeunana tina hypervisors sapertos KVM nyaéta
Sanajan kitu, Libnvmm sorangan teu ngandung fungsi émulator, tapi ngan nyadiakeun API nu ngidinan Anjeun pikeun ngahijikeun rojongan NVMM kana emulators aya, Contona, QEMU. API nyertakeun fungsi sapertos nyiptakeun sareng ngaluncurkeun mesin virtual, alokasi mémori kana sistem tamu, sareng alokasi VCPU. Pikeun ningkatkeun kaamanan sareng ngirangan kamungkinan vektor serangan, libnvmm ngan ukur nyayogikeun fungsi anu dipénta sacara eksplisit-sacara standar, panangan kompleks henteu otomatis disebut sareng henteu tiasa dianggo upami aranjeunna tiasa dihindari. NVMM nyobian tetep saderhana, tanpa pajeulit teuing, sareng ngamungkinkeun anjeun ngadalikeun saloba-lobana aspék padamelan anjeun.
Bagian kernel-tingkat tina NVMM cukup pageuh terpadu kalayan kernel NetBSD, sarta ngamungkinkeun pikeun ngaronjatkeun kinerja ku cara ngurangan jumlah switch konteks antara OS tamu jeung lingkungan host. Di sisi spasi pamaké, libnvmm nyoba agrégat operasi I / O umum tur ulah nyieun sistem nelepon unnecessarily. Sistem alokasi memori dumasar kana subsistem pmap, nu ngidinan Anjeun pikeun nundung kaca memori tamu ka partisi swap bisi kakurangan memori dina sistem. NVMM bébas tina konci global sareng skala ogé, ngamungkinkeun anjeun sakaligus nganggo inti CPU anu béda pikeun ngajalankeun mesin virtual tamu anu béda.
Solusi basis QEMU parantos disiapkeun anu ngagunakeun NVMM pikeun ngaktipkeun mékanisme virtualisasi hardware. Karya keur dijalankeun pikeun ngawengku patch disiapkeun dina struktur utama QEMU. Kombinasi QEMU + NVMM parantos aya
sumber: opennet.ru