NetBSD Төслийн Хөгжүүлэгчид
NVMM нь системийн цөмийн түвшинд ажилладаг, техник хангамжийн виртуалчлалын механизмд хандах хандалтыг зохицуулдаг драйвер болон хэрэглэгчийн орон зайд ажилладаг Libnvmm стекийг агуулдаг. Цөмийн бүрэлдэхүүн хэсгүүд болон хэрэглэгчийн орон зай хоорондын харилцан үйлчлэл нь IOCTL-ээр дамждаг. NVMM-ийн нэг онцлог нь түүнийг KVM зэрэг гипервизоруудаас ялгадаг
Гэсэн хэдий ч Libnvmm нь өөрөө эмулятор функцийг агуулдаггүй бөгөөд зөвхөн NVMM дэмжлэгийг одоо байгаа эмуляторууд, жишээлбэл QEMU-д нэгтгэх боломжийг олгодог API-г өгдөг. API нь виртуал машин үүсгэх, эхлүүлэх, зочны системд санах ойг хуваарилах, VCPU хуваарилах зэрэг функцуудыг хамардаг. Аюулгүй байдлыг сайжруулж, болзошгүй халдлагын векторуудыг багасгахын тулд libnvmm нь зөвхөн тодорхой хүсэлт тавьсан функцуудыг хангадаг - анхдагчаар нарийн төвөгтэй зохицуулагчдыг автоматаар дууддаггүй бөгөөд зайлсхийх боломжтой бол огт ашиглахгүй байж болно. NVMM нь аливаа зүйлийг хэтэрхий төвөгтэй болгохгүйгээр энгийн байлгахыг хичээдэг бөгөөд танд ажлынхаа аль болох олон талыг хянах боломжийг олгодог.
NVMM-ийн цөмийн түвшний хэсэг нь NetBSD цөмтэй нэлээд нягт уялдаатай бөгөөд зочин үйлдлийн систем болон хост орчны хоорондох контекст шилжүүлэгчийн тоог багасгах замаар гүйцэтгэлийг сайжруулах боломжийг олгодог. Хэрэглэгчийн орон зайн тал дээр libnvmm нь нийтлэг оролт гаралтын үйлдлүүдийг нэгтгэж, шаардлагагүйгээр системийн дуудлага хийхээс зайлсхийхийг оролддог. Санах ойн хуваарилалтын систем нь pmap дэд систем дээр суурилдаг бөгөөд энэ нь системд санах ойн хомсдол үүссэн тохиолдолд зочны санах ойн хуудсыг своп хуваалт руу гаргах боломжийг олгодог. NVMM нь дэлхийн хэмжээний түгжээгүй бөгөөд өөр өөр виртуал машинуудыг ажиллуулахын тулд өөр өөр CPU цөмийг нэгэн зэрэг ашиглах боломжийг танд олгоно.
Тоног төхөөрөмжийн виртуалчлалын механизмыг идэвхжүүлэхийн тулд NVMM ашигладаг QEMU-д суурилсан шийдлийг бэлтгэсэн. Бэлтгэсэн нөхөөсийг QEMU-ийн үндсэн бүтцэд оруулах ажил хийгдэж байна. QEMU+NVMM хослол аль хэдийн байна
Эх сурвалж: opennet.ru