NetBSD Project Developers
NVMM-ն ներառում է վարորդ, որն աշխատում է համակարգի միջուկի մակարդակով և համակարգում է մուտքը դեպի ապարատային վիրտուալացման մեխանիզմներ, և Libnvmm ստեկ, որն աշխատում է օգտագործողի տարածքում: Միջուկի բաղադրիչների և օգտագործողի տարածության միջև փոխազդեցությունն իրականացվում է IOCTL-ի միջոցով: NVMM-ի առանձնահատկությունն է, որը տարբերում է այն հիպերվիզորներից, ինչպիսին է KVM-ն
Այնուամենայնիվ, Libnvmm-ն ինքնին չի պարունակում էմուլյատորի գործառույթներ, այլ միայն տրամադրում է API, որը թույլ է տալիս ինտեգրել NVMM աջակցությունը գոյություն ունեցող էմուլյատորների մեջ, օրինակ՝ QEMU: API-ն ընդգրկում է այնպիսի գործառույթներ, ինչպիսիք են վիրտուալ մեքենայի ստեղծումն ու գործարկումը, հյուրերի համակարգին հիշողություն հատկացնելը և VCPU-ների հատկացումը: Անվտանգությունը բարելավելու և հարձակման հնարավոր վեկտորները նվազեցնելու համար libnvmm-ը տրամադրում է միայն գործառույթներ, որոնք բացահայտորեն պահանջվում են. լռելյայնորեն, բարդ մշակողները ավտոմատ կերպով չեն կանչվում և կարող են ընդհանրապես չօգտագործվել, եթե հնարավոր լինի խուսափել դրանցից: NVMM-ն փորձում է ամեն ինչ պարզ պահել՝ առանց չափազանց բարդանալու և թույլ տալով վերահսկել ձեր աշխատանքի հնարավորինս շատ ասպեկտներ:
NVMM-ի միջուկի մակարդակի մասը բավականին սերտորեն ինտեգրված է NetBSD միջուկի հետ և թույլ է տալիս կատարելագործել կատարողականությունը՝ նվազեցնելով հյուրի OS-ի և հյուրընկալող միջավայրի միջև համատեքստային անջատիչների քանակը: Օգտագործողի տարածքի կողմից, libnvmm-ը փորձում է միավորել ընդհանուր մուտքի/ելքի գործառնությունները և խուսափել անտեղի համակարգային զանգեր կատարելուց: Հիշողության բաշխման համակարգը հիմնված է pmap ենթահամակարգի վրա, որը թույլ է տալիս համակարգում հիշողության պակասի դեպքում հյուրերի հիշողության էջերը դուրս հանել swap միջնորմում: NVMM-ն զերծ է գլոբալ կողպեքներից և լավ մասշտաբներից, ինչը թույլ է տալիս միաժամանակ օգտագործել տարբեր CPU միջուկներ՝ տարբեր հյուր վիրտուալ մեքենաներ գործարկելու համար:
Պատրաստվել է QEMU-ի վրա հիմնված լուծում, որն օգտագործում է NVMM՝ ապարատային վիրտուալացման մեխանիզմները միացնելու համար: Աշխատանքներ են տարվում նախապատրաստված կարկատանները QEMU-ի հիմնական կառուցվածքում ներառելու ուղղությամբ։ QEMU+NVMM համակցությունն արդեն կա
Source: opennet.ru