إصدار Bareflank 2.0 hypervisor

يأخذ مكانا الافراج عن برنامج Hypervisor باريفلانك 2.0، والذي يوفر أدوات للتطوير السريع لبرامج Hypervisor المتخصصة. Bareflank مكتوب بلغة C++ ويدعم C++ STL. ستسمح لك البنية المعيارية لـ Bareflank بتوسيع الإمكانيات الحالية لبرنامج Hypervisor بسهولة وإنشاء إصداراتك الخاصة من برامج Hypervisor، التي تعمل على أعلى الأجهزة (مثل Xen) وتعمل في بيئة برامج موجودة (مثل VirtualBox). من الممكن تشغيل نظام التشغيل للبيئة المضيفة في جهاز ظاهري منفصل. رمز المشروع وزعت من خلال مرخص بموجب LGPL 2.1.

يدعم Bareflank أنظمة Linux وWindows وUEFI على وحدات المعالجة المركزية Intel 64 بت. تُستخدم تقنية Intel VT-x لمشاركة الأجهزة لموارد الجهاز الظاهري. ومن المقرر دعم أنظمة macOS وBSD في المستقبل، بالإضافة إلى القدرة على العمل على منصات ARM64 وAMD. بالإضافة إلى ذلك، يقوم المشروع بتطوير برنامج التشغيل الخاص به لتحميل VMM (Virtual Machine Manager)، ومحمل ELF لتحميل وحدات VVM، وتطبيق bfm للتحكم في برنامج Hypervisor من مساحة المستخدم. يوفر أدوات لكتابة الملحقات باستخدام العناصر المحددة في مواصفات C++ 11/14، ومكتبة لتفكيك مكدس الاستثناءات (الاسترخاء)، بالإضافة إلى مكتبة وقت التشغيل الخاصة بها لدعم استخدام المنشئات/المدمرات وتسجيل معالجات الاستثناءات.

يجري تطوير نظام المحاكاة الافتراضية على أساس Bareflank يشبه الصندوق، الذي يدعم تشغيل أنظمة الضيف ويسمح باستخدام الأجهزة الافتراضية خفيفة الوزن مع Linux وUnkernel لتشغيل الخدمات أو التطبيقات المتخصصة. في شكل خدمات معزولة، يمكنك تشغيل كل من خدمات الويب والتطبيقات العادية التي لها متطلبات خاصة للموثوقية والأمان، خالية من تأثير البيئة المضيفة (البيئة المضيفة معزولة في جهاز افتراضي منفصل).

الابتكارات الرئيسية لـ Bareflank 2.0:

  • تمت إضافة دعم لإطلاق Bareflank مباشرةً من UEFI للتنفيذ اللاحق لنظام التشغيل في جهاز افتراضي؛
  • تم تنفيذ مدير ذاكرة جديد، تم تصميمه بشكل مشابه لمديري الذاكرة SLAB/Buddy في Linux. يوضح مدير الذاكرة الجديد انخفاض التجزئة، ويسمح بأداء أعلى ويدعم تخصيص الذاكرة الديناميكية لبرنامج Hypervisor من خلاله com.bfdriver، والذي يسمح لك بتقليل الحجم الأولي لبرنامج Hypervisor والقياس الأمثل اعتمادًا على عدد مراكز وحدة المعالجة المركزية؛
  • يسمح نظام بناء جديد يعتمد على CMake، بشكل مستقل عن مترجم الأوامر، بتسريع كبير لتجميع برنامج Hypervisor ويبسط الدعم المستقبلي للبنيات الإضافية، مثل ARM؛
  • تمت إعادة تنظيم الكود وتم تبسيط بنية النصوص المصدر. تحسين الدعم للمشاريع ذات الصلة مثل Hyperkernel دون الحاجة إلى تكرار التعليمات البرمجية. كود منفصل بشكل أكثر وضوحا مراقب الأجهزة الافتراضيةواسترخاء المكتبة ووقت التشغيل وأدوات التحكم ومحمل التشغيل وSDK؛
  • تم تحويل معظم واجهات برمجة التطبيقات (API)، بدلاً من آليات الميراث المستخدمة سابقًا في C++، إلى الاستخدام وفد، مما أدى إلى تبسيط واجهة برمجة التطبيقات وزيادة الأداء وتقليل استهلاك الموارد.

المصدر: opennet.ru

إضافة تعليق