NetBSD پروجيڪٽ هڪ نئون NVMM هائپر وائزر ٺاهي رهيو آهي

NetBSD پروجيڪٽ ڊولپرز اعلان ڪيو نئين هائپر وائزر جي ٺهڻ ۽ لاڳاپيل ورچوئلائيزيشن اسٽيڪ جي باري ۾، جيڪي اڳ ۾ ئي تجرباتي NetBSD-موجوده برانچ ۾ شامل آهن ۽ NetBSD 9 جي مستحڪم رليز ۾ پيش ڪيا ويندا. NVMM في الحال x86_64 آرڪيٽيڪچر کي سپورٽ ڪرڻ تائين محدود آهي ۽ ان لاءِ ٻه پس منظر مهيا ڪري ٿي. هارڊويئر ورچوئلائيزيشن ميڪانيزم کي فعال ڪرڻ: x86-SVM AMD ۽ x86-VMX CPU ورچوئلائيزيشن ايڪسٽينشن لاءِ Intel CPUs لاءِ سپورٽ سان. ان جي موجوده شڪل ۾، هڪ ميزبان تي 128 ورچوئل مشينون هلائڻ ممڪن آهي، جن مان هر هڪ کي مختص ڪري سگهجي ٿو 256 ورچوئل پروسيسر ڪور (VCPU) ۽ 128 GB ريم.

NVMM ۾ هڪ ڊرائيور شامل آهي جيڪو سسٽم ڪنييل سطح تي هلندو آهي ۽ هارڊويئر ورچوئلائيزيشن ميڪانيزم تائين رسائي کي همراه ڪري ٿو، ۽ هڪ Libnvmm اسٽيڪ جيڪو صارف جي جاء تي هلندو آهي. ڪنييل اجزاء ۽ صارف جي جاء جي وچ ۾ رابطي IOCTL ذريعي ڪيو ويندو آهي. NVMM جي هڪ خصوصيت جيڪا ان کي هائپرائزرز کان ڌار ڪري ٿي جهڙوڪ KVM آهي HAXM ۽ Bhyve، اهو آهي ته ڪرنل سطح تي صرف هارڊويئر ورچوئلائيزيشن ميڪانيزم جي چوڌاري پابندن جو گهٽ ۾ گهٽ گهربل سيٽ ڪيو ويندو آهي، ۽ سڀني هارڊويئر ايموليشن ڪوڊ کي ڪني کان ٻاهر يوزر اسپيس ۾ منتقل ڪيو ويندو آهي. اهو طريقو توهان کي اجازت ڏئي ٿو ته ڪوڊ جي مقدار کي گهٽائڻ جي بلندي سان جاري ڪيل مراعات ۽ هائپر ويزر ۾ خطرن تي حملن جي صورت ۾ پوري نظام کي سمجھوتو ڪرڻ جي خطري کي گھٽائڻ. ان کان علاوه، منصوبي جي ڊيبگنگ ۽ فزنگ ٽيسٽ کي خاص طور تي آسان ڪيو ويو آهي.

بهرحال، Libnvmm پاڻ ايموليٽر افعال تي مشتمل ناهي، پر صرف هڪ API مهيا ڪري ٿو جيڪا توهان کي NVMM سپورٽ کي موجوده ايموليٽرز ۾ ضم ڪرڻ جي اجازت ڏئي ٿي، مثال طور، QEMU. API ڪمن کي ڍڪيندو آهي جهڙوڪ هڪ ورچوئل مشين ٺاهڻ ۽ لانچ ڪرڻ، گيسٽ سسٽم کي ميموري مختص ڪرڻ، ۽ VCPUs مختص ڪرڻ. سيڪيورٽي کي بهتر ڪرڻ ۽ ممڪن حملي جي ویکٹر کي گهٽائڻ لاءِ، libnvmm صرف اهي ڪم مهيا ڪري ٿو جيڪي واضح طور تي گهربل آهن- ڊفالٽ طور، پيچيده هينڊلر پاڻمرادو نه سڏيا ويندا آهن ۽ شايد استعمال نه ڪيا ويندا آهن جيڪڏهن انهن کان بچي سگهجي. NVMM شين کي سادو رکڻ جي ڪوشش ڪري ٿو، تمام پيچيده ٿيڻ کان سواء، ۽ توهان کي ممڪن طور تي توهان جي ڪم جي ڪيترن ئي حصن کي ڪنٽرول ڪرڻ جي اجازت ڏئي ٿي.

NetBSD پروجيڪٽ هڪ نئون NVMM هائپر وائزر ٺاهي رهيو آهي

NVMM جو kernel-level حصو NetBSD kernel سان ڪافي مضبوطيءَ سان ضم ٿيل آھي، ۽ مھمان OS ۽ ھوسٽ ماحول جي وچ ۾ ڪنٽينيڪٽ سوئچز جو تعداد گھٽائي ڪارڪردگي کي بھتر ڪرڻ جي اجازت ڏئي ٿو. يوزر اسپيس سائڊ تي، libnvmm عام I/O عملن کي گڏ ڪرڻ جي ڪوشش ڪري ٿو ۽ غير ضروري طور تي سسٽم ڪالون ڪرڻ کان پاسو ڪري ٿو. ميموري مختص ڪرڻ وارو نظام pmap سب سسٽم تي ٻڌل آهي، جيڪو توهان کي سسٽم ۾ ميموري جي گھٽتائي جي صورت ۾ گيسٽ ميموري صفحن کي سوپ ورهاڱي ڏانهن ڪڍڻ جي اجازت ڏئي ٿو. NVMM عالمي لاڪ ۽ اسڪيل کان پاڪ آهي، توهان کي مختلف مهمان ورچوئل مشينن کي هلائڻ لاءِ هڪ ئي وقت مختلف CPU ڪور استعمال ڪرڻ جي اجازت ڏئي ٿي.

هڪ QEMU تي ٻڌل حل تيار ڪيو ويو آهي جيڪو هارڊويئر ورچوئلائيزيشن ميڪانيزم کي فعال ڪرڻ لاءِ NVMM استعمال ڪري ٿو. تيار ڪيل پيچ کي QEMU جي بنيادي ڍانچي ۾ شامل ڪرڻ لاءِ ڪم جاري آهي. QEMU + NVMM ميلاپ اڳ ۾ ئي آهي اها ڳالهه جي اجازت ڏئي AMD ۽ Intel پروسيسرز سان x7_8.1 سسٽم تي FreeBSD، OpenBSD، Linux، Windows XP/10/86/64 ۽ ٻين OS سان ڪاميابيءَ سان گيسٽ سسٽم هلائيندا آهن (NVMM پاڻ هڪ مخصوص فن تعمير سان جڙيل ناهي، مثال طور، جيڪڏهن مناسب پس منظر ٺاهيو وڃي. ، اهو ARM64 سسٽم تي ڪم ڪرڻ جي قابل هوندو). NVMM جي وڌيڪ ايپليڪيشنن جي علائقن ۾، انفرادي ايپليڪيشنن جي سينڊ باڪس جي اڪيلائي پڻ نوٽ ڪئي وئي آهي.

NetBSD پروجيڪٽ هڪ نئون NVMM هائپر وائزر ٺاهي رهيو آهي

جو ذريعو: opennet.ru

تبصرو شامل ڪريو