يقوم فريق NetBSD بتطوير برنامج مراقبة NVMM جديد

الكثير مطورو مشروع NetBSD مؤخرا أعلن عن إنشاء برنامج Hypervisor جديد وما يرتبط بها من مكدس الافتراضية ، والتي تم تضمينها بالفعل في الفرع التجريبي لـ NetBSD-current وسيتم تقديمه في الإصدار الثابت من NetBSD 9.

NVMM لا يزال يقتصر على دعم هندسة x86_64 ويقدم نسختين لاستخدام آليات الأجهزة الافتراضية.

أحدها هو x86-SVM مع دعم افتراضية AMD CPU وامتدادات x86-VMX لوحدات المعالجة المركزية Intel.

في شكله الحالي ، يمكن تمهيد ما يصل إلى 128 جهازًا افتراضيًا على مضيف، يمكن تخصيص كل منها حتى 256 مركز معالج افتراضي (VCPUs) و 128 جيجابايت من ذاكرة الوصول العشوائي.

حول برنامج Hypervisor NVMM

في عرض برنامج Hypervisor هذا ، أوضح مطورو مشروع NetBSD ذلك يتضمن NVMM برنامج تشغيل يعمل على مستوى نواة النظام.

وهذا أيضًا ينسق الوصول إلى آليات المحاكاة الافتراضية القائمة على الأجهزة ومكدس Libnvmm، والتي تعمل في مساحة المستخدم.

يتم تفاعل مكونات النواة ومساحة المستخدم من خلال IOCTL.

 تتمثل إحدى ميزات NVMM التي تميزه عن برامج Hypervisor مثل KVM و HAXM و Bhyve في أنه على مستوى النواة يتم تنفيذ الحد الأدنى فقط من مجموعة آليات المحاكاة الافتراضية للأجهزة ويتم إزالة جميع رموز محاكاة الكمبيوتر من النواة عند مساحة المستخدم.

هذا النهج يقلل من مقدار التعليمات البرمجية المنفذة بامتيازات عالية ويقلل من المخاطر أن النظام بأكمله معرض للخطر في حالة الهجمات على نقاط الضعف في برنامج Hypervisor.

بالإضافة إلى ذلك ، يتم تبسيط تصحيح الأخطاء وإرباك مشروعك إلى حد كبير.

في الوقت نفسه ، لا يحتوي Libnvmm نفسه على وظائف المحاكي ، ولكنه يوفر فقط واجهة برمجة تطبيقات تسمح بدمج دعم NVMM في المحاكيات الحالية ، على سبيل المثال في QEMU.

واجهة برمجة التطبيقات الافتراضية

تغطي واجهة برمجة التطبيقات وظائف مثل إنشاء وتشغيل جهاز افتراضي ، وتخصيص ذاكرة لنظام الضيف ، وتوزيع وحدة المعالجة المركزية الافتراضية (VCPU).

لزيادة الأمان وتقليل نواقل الهجوم المحتملة ، يوفر libnvmm فقط الوظائف المطلوبة صراحة.

بشكل افتراضي ، لا يتم استدعاء وحدات التحكم المعقدة تلقائيًا ولا يمكن استخدامها على الإطلاق إذا كان من الممكن الاستغناء عنها.

تحاول NVMM تقديم حلول بسيطة ، دون الوقوع في تعقيدات والسماح لنفسك بالتحكم في أكبر عدد ممكن من جوانب الوظيفة.

تم دمج جزء مستوى النواة في NVMM بشكل جيد مع نواة NetBSD وتمكنك من تحقيق أداء أعلى عن طريق تقليل عدد مفاتيح تبديل السياق بين نظام التشغيل الضيف وبيئة المضيف.

في مساحة المستخدم ، يحاول libnvmm إضافة عمليات الإدخال / الإخراج النموذجية ودون الحاجة إلى القيام بذلك ، وليس اللجوء إلى مكالمات النظام.

أداء

على عكس برامج تشغيل النواة الزائفة الأخرى عبر الأنظمة الأساسية، مثل VirtualBox أو HAXM ، تم دمج NVMM جيدًا في نواة NetBSD وهذا يسمح بتحسين التغييرات السياق بين الضيوف والمضيف ، لتجنب العمليات المكلفة في حالات معينة.

أمن

نظام تخصيص الذاكرة يعتمد على النظام الفرعي pmap ، أن يسمح لك بنقل الصفحات من ذاكرة الضيف إلى قسم المبادلة في حالة نقص الذاكرة في النظام.

NVMM خالي من الأقفال والمقاييس العالمية، مما يتيح لك استخدام نوى مختلفة لوحدة المعالجة المركزية في وقت واحد لتشغيل أجهزة افتراضية مختلفة للضيوف.

بناءً على QEMU ، تم إعداد حل باستخدام NVMM لتمكين آليات المحاكاة الافتراضية للأجهزة.

يجري العمل على دمج الرقع المعدة في المعدات الرئيسية للجامعة.

باكيت يسمح لك QEMU + NVMM بالفعل بتشغيل أنظمة الضيف بنجاح باستخدام FreeBSD و OpenBSD و Linux و Windows XP / 7 / 8.1 / 10 وأنظمة التشغيل الأخرى على أنظمة x86_64 مع معالجات AMD و Intel (NVMM نفسه غير مرتبط ببنية معينة).

ستكون الواجهة الخلفية قادرة على العمل على أنظمة ARM64). من مجالات التطبيق الإضافية ، نظرت NVMM أيضًا في العزلة في منطقة اختبار التطبيق الفردي.

مصدر: http://blog.netbsd.org


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.