NetBSD ፕሮጀክት ገንቢዎች
NVMM በሲስተም ከርነል ደረጃ የሚሰራ እና የሃርድዌር ቨርቹዋል አሰራር ዘዴዎችን መዳረሻ የሚያስተባብር ሾፌር እና በተጠቃሚ ቦታ ላይ የሚሰራ የLibnvmm ቁልል ያካትታል። በከርነል ክፍሎች እና በተጠቃሚ ቦታ መካከል ያለው መስተጋብር በ IOCTL በኩል ይከናወናል. እንደ KVM ካሉ ሃይፐርቫይዘሮች የሚለየው የNVMM ባህሪ ነው።
ነገር ግን Libnvmm ራሱ emulator ተግባራትን አልያዘም ነገር ግን የNVMM ድጋፍን ከነባር ኢሙሌተሮች ጋር ለማዋሃድ የሚያስችልዎትን ኤፒአይ ብቻ ያቀርባል፣ ለምሳሌ QEMU። ኤፒአይ እንደ ምናባዊ ማሽን መፍጠር እና ማስጀመር፣ ማህደረ ትውስታን ለእንግዶች ስርዓት መመደብ እና ቪሲፒዩዎችን መመደብ ያሉ ተግባራትን ይሸፍናል። ደህንነትን ለማሻሻል እና ሊሆኑ የሚችሉ የጥቃት ቬክተሮችን ለመቀነስ libnvmm በግልጽ የሚጠየቁ ተግባራትን ብቻ ያቀርባል - በነባሪነት ውስብስብ ተቆጣጣሪዎች በራስ-ሰር አይጠሩም እና ሊወገዱ ከቻሉ ጨርሶ ጥቅም ላይ ሊውሉ አይችሉም። NVMM ነገሮችን ቀላል ለማድረግ ይሞክራል፣ በጣም ውስብስብ ሳይሆኑ እና በተቻለ መጠን ብዙ የስራዎን ገፅታዎች እንዲቆጣጠሩ ያስችልዎታል።
የNVMM የከርነል ደረጃ ከNetBSD kernel ጋር በጥብቅ የተዋሃደ ነው፣ እና በእንግዳው ስርዓተ ክወና እና በአስተናጋጅ አካባቢ መካከል ያሉ የአውድ መቀየሪያዎችን ብዛት በመቀነስ የተሻሻለ አፈፃፀም እንዲኖር ያስችላል። በተጠቃሚው የቦታ ጎን፣ libnvmm የተለመዱ የI/O ስራዎችን ለማዋሃድ እና የስርዓት ጥሪዎችን ሳያስፈልግ ከማድረግ ለመቆጠብ ይሞክራል። የማህደረ ትውስታ ድልድል ስርዓቱ በሲስተሙ ውስጥ የማህደረ ትውስታ እጥረት በሚኖርበት ጊዜ የእንግዳ ማህደረ ትውስታ ገጾችን ወደ ስዋፕ ክፋይ ለማስወጣት በሚያስችለው pmap ንዑስ ስርዓት ላይ የተመሠረተ ነው። NVMM ከአለምአቀፍ መቆለፊያዎች እና ሚዛኖች በደንብ የጸዳ ነው፣ ይህም የተለያዩ የእንግዳ ቨርቹዋል ማሽኖችን ለማሄድ በተመሳሳይ ጊዜ የተለያዩ ሲፒዩ ኮሮችን እንድትጠቀም ያስችልሃል።
የሃርድዌር ቨርቹዋል አሰራር ዘዴዎችን ለማንቃት NVMM የሚጠቀም QEMU ላይ የተመሰረተ መፍትሄ ተዘጋጅቷል። በQEMU ዋና መዋቅር ውስጥ የተዘጋጁ ፕላስተሮችን ለማካተት እየተሰራ ነው። የQEMU+NVMM ጥምረት አስቀድሞ ነው።
ምንጭ: opennet.ru