Nā mea hoʻomohala papahana NetBSD
Loaʻa i ka NVMM kahi mea hoʻokele e holo ana ma ka pae kernel ʻōnaehana a hoʻonohonoho i ke komo ʻana i nā mīkini virtualization hardware, a me kahi waihona Libnvmm e holo ana ma kahi o ka mea hoʻohana. Hana ʻia ka pilina ma waena o nā ʻāpana kernel a me ka wahi hoʻohana ma o IOCTL. ʻO kahi hiʻohiʻona o NVMM e hoʻokaʻawale iā ia mai nā hypervisors e like me KVM
Eia naʻe, ʻaʻole i loko o Libnvmm nā hana emulator, akā hāʻawi wale i kahi API e hiki ai iā ʻoe ke hoʻohui i ke kākoʻo NVMM i nā emulators e loaʻa nei, no ka laʻana, QEMU. Hoʻopili ka API i nā hana e like me ka hana ʻana a me ka hoʻokuʻu ʻana i kahi mīkini virtual, ka hoʻokaʻawale ʻana i ka hoʻomanaʻo i ka ʻōnaehana malihini, a me ka hoʻokaʻawale ʻana i nā VCPU. No ka hoʻomaikaʻi ʻana i ka palekana a me ka hōʻemi ʻana i nā vectors hoʻouka ʻia, hāʻawi ʻo libnvmm i nā hana i noi maopopo ʻia - ma ke ʻano maʻamau, ʻaʻole kāhea ʻia nā mea paʻa paʻakikī a ʻaʻole hiki ke hoʻohana ʻia inā hiki ke pale ʻia. Hoʻāʻo ʻo NVMM e mālama i nā mea maʻalahi, me ka ʻole o ka paʻakikī, a e ʻae iā ʻoe e hoʻomalu i nā ʻano he nui o kāu hana.
Hoʻopili paʻa ʻia ka ʻāpana kernel-level o NVMM me ka kernel NetBSD, a hiki i ka hoʻomaikaʻi ʻana i ka hana ma o ka hoʻemi ʻana i ka helu o nā hoʻololi pōʻaiapili ma waena o ka OS malihini a me ka puni hoʻokipa. Ma ka ʻaoʻao ākea o ka mea hoʻohana, hoʻāʻo ʻo libnvmm e hōʻuluʻulu i nā hana I/O maʻamau a pale i ka hana ʻana i nā kelepona ʻōnaehana me ka pono ʻole. Hoʻokumu ʻia ka ʻōnaehana hoʻomanaʻo hoʻomanaʻo ma ka subsystem pmap, kahi e hiki ai iā ʻoe ke kipaku i nā ʻaoʻao hoʻomanaʻo malihini i ka ʻāpana swap inā pilikia ka hoʻomanaʻo i ka ʻōnaehana. Loaʻa ka NVMM i nā laka honua a me nā unahi maikaʻi, e ʻae iā ʻoe e hoʻohana i nā cores CPU like ʻole e holo i nā mīkini virtual malihini.
Ua hoʻomākaukau ʻia kahi hoʻonā QEMU e hoʻohana ana i ka NVMM e hiki ai i nā mīkini virtualization hardware. Ke hoʻomaka nei ka hana e hoʻokomo i nā ʻāpana i hoʻomākaukau ʻia i loko o ke ʻano nui o QEMU. Aia ka hui QEMU+NVMM
Source: opennet.ru