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 айкалышы мурунтан эле
Source: opennet.ru