NetBSD loyihasini ishlab chiquvchilari
NVMM tizim yadrosi darajasida ishlaydigan va apparat virtualizatsiya mexanizmlariga kirishni muvofiqlashtiruvchi drayverni va foydalanuvchi maydonida ishlaydigan Libnvmm stekini o'z ichiga oladi. Yadro komponentlari va foydalanuvchi maydoni o'rtasidagi o'zaro ta'sir IOCTL orqali amalga oshiriladi. NVMM ni KVM kabi gipervizorlardan ajratib turadigan xususiyati shundaki
Biroq, Libnvmm-ning o'zi emulyator funktsiyalarini o'z ichiga olmaydi, faqat NVMM-ni qo'llab-quvvatlashni mavjud emulyatorlarga, masalan, QEMU-ga integratsiya qilish imkonini beruvchi API-ni taqdim etadi. API virtual mashinani yaratish va ishga tushirish, mehmon tizimiga xotira ajratish va VCPUlarni taqsimlash kabi funktsiyalarni qamrab oladi. Xavfsizlikni yaxshilash va mumkin bo'lgan hujum vektorlarini kamaytirish uchun libnvmm faqat aniq so'ralgan funktsiyalarni taqdim etadi - sukut bo'yicha, murakkab ishlov beruvchilar avtomatik ravishda chaqirilmaydi va ulardan qochish mumkin bo'lsa, umuman ishlatilmasligi mumkin. NVMM narsalarni juda murakkablashtirmasdan, oddiy saqlashga harakat qiladi va ishning iloji boricha ko'p jihatlarini nazorat qilish imkonini beradi.
NVMM ning yadro darajasidagi qismi NetBSD yadrosi bilan chambarchas integratsiyalashgan va mehmon operatsion tizimi va xost muhiti o'rtasidagi kontekstni almashtirish sonini kamaytirish orqali ishlashni yaxshilash imkonini beradi. Foydalanuvchi maydoni tomonida libnvmm umumiy kiritish-chiqarish operatsiyalarini jamlashga harakat qiladi va tizimga keraksiz qo'ng'iroqlarni amalga oshirishdan qochadi. Xotirani taqsimlash tizimi pmap quyi tizimiga asoslangan bo'lib, tizimda xotira yetishmovchiligi bo'lsa, mehmon xotirasi sahifalarini almashtirish bo'limiga chiqarish imkonini beradi. NVMM global qulflar va shkalalardan xoli, bu sizga bir vaqtning o'zida turli xil mehmon virtual mashinalarini ishga tushirish uchun turli CPU yadrolaridan foydalanish imkonini beradi.
Uskuna virtualizatsiya mexanizmlarini yoqish uchun NVMM dan foydalanadigan QEMU asosidagi yechim tayyorlandi. Tayyorlangan yamoqlarni QEMUning asosiy tuzilmasiga kiritish ishlari olib borilmoqda. QEMU+NVMM kombinatsiyasi allaqachon mavjud
Manba: opennet.ru