إصدار Muen 1.0 ، نواة مفتوحة لبناء أنظمة موثوقة للغاية

بعد ثماني سنوات من التطوير، تم إطلاق مشروع Muen 1.0، لتطوير نواة الفصل، والتي تم تأكيد عدم وجود أخطاء في الكود المصدري لها باستخدام الطرق الرياضية للتحقق من الموثوقية الرسمية. النواة متاحة للبنية x86_64 ويمكن استخدامها في الأنظمة ذات المهام الحرجة التي تتطلب مستوى متزايد من الموثوقية وضمان عدم حدوث أي أعطال. الكود المصدري للمشروع مكتوب بلغة Ada ولهجتها القابلة للتحقق SPARK 2014. ويتم توزيع الكود بموجب ترخيص GPLv3.

نواة الفصل هي نواة صغيرة توفر بيئة لتنفيذ المكونات المعزولة عن بعضها البعض، ويتم تنظيم تفاعلها بشكل صارم من خلال قواعد معينة. يعتمد العزل على استخدام ملحقات المحاكاة الافتراضية Intel VT-x ويتضمن آليات أمنية لمنع تنظيم قنوات الاتصال السرية. نواة التقسيم أكثر بساطة وثباتًا من النوى الصغيرة الأخرى، مما يقلل من عدد المواقف التي يمكن أن تسبب الفشل.

تعمل النواة في وضع جذر VMX، على غرار برنامج Hypervisor، وتعمل جميع المكونات الأخرى في وضع VMX غير الجذر، على غرار أنظمة الضيف. يتم الوصول إلى المعدات باستخدام امتدادات Intel VT-d DMA وإعادة تعيين المقاطعة، مما يجعل من الممكن تنفيذ الربط الآمن لأجهزة PCI بالمكونات التي تعمل تحت Muen.

إصدار Muen 1.0 ، نواة مفتوحة لبناء أنظمة موثوقة للغاية

تتضمن إمكانيات Muen دعم الأنظمة متعددة النواة، وصفحات الذاكرة المتداخلة (EPT، جداول الصفحات الموسعة)، وMSI (مقاطعات إشارة الرسائل)، وجداول سمات صفحة الذاكرة (PAT، جدول سمات الصفحة). يوفر Muen أيضًا جدولة ثابتة تعتمد على مؤقت Intel VMX الوقائي، ووقت تشغيل مضغوط لا يؤثر على الأداء، ونظام تدقيق الأعطال، وآلية تخصيص الموارد الثابتة القائمة على القواعد، ونظام معالجة الأحداث، وقنوات الذاكرة المشتركة لـ الاتصالات داخل المكونات قيد التشغيل.

وهو يدعم تشغيل المكونات باستخدام رمز جهاز 64 بت، وأجهزة افتراضية 32 أو 64 بت، وتطبيقات 64 بت بلغات Ada وSPARK 2014، وأجهزة Linux الافتراضية و"unikernels" القائمة بذاتها استنادًا إلى MirageOS أعلى Muen.

الابتكارات الرئيسية المقدمة في إصدار Muen 1.0:

  • تم نشر المستندات بمواصفات النواة (الجهاز والبنية)، والنظام (سياسات النظام، Tau0 ومجموعة الأدوات) والمكونات، والتي توثق جميع جوانب المشروع.
  • تمت إضافة مجموعة أدوات Tau0 (Muen System Composer)، والتي تتضمن مجموعة من المكونات الجاهزة التي تم التحقق منها لإنشاء صور النظام وتطوير الخدمات القياسية التي تعمل فوق Muen. تشمل المكونات المتوفرة برنامج تشغيل AHCI (SATA)، وإدارة الأجهزة (DM)، ومحمل التمهيد، ومدير النظام، والمحطة الافتراضية، وما إلى ذلك.
  • تم تحويل برنامج تشغيل muenblock Linux (تطبيق جهاز كتلة يعمل أعلى ذاكرة Muen المشتركة) لاستخدام blockdev 2.0 API.
  • الأدوات المنفذة لإدارة دورة حياة المكونات الأصلية.
  • تم تحويل صور النظام لاستخدام SBS (Signed Block Stream) وCSL (Command Stream Loader) لحماية السلامة.
  • تم تنفيذ برنامج تشغيل AHCI-DRV تم التحقق منه، ومكتوب بلغة SPARK 2014 ويسمح لك بتوصيل محركات الأقراص التي تدعم واجهة ATA أو أقسام القرص الفردية بالمكونات.
  • تحسين دعم unikernel من مشاريع MirageOS وSolo5.
  • تم تحديث مجموعة أدوات لغة Ada لإصدار GNAT Community 2021.
  • تم نقل نظام التكامل المستمر من محاكي Bochs إلى بيئات QEMU/KVM المتداخلة.
  • تستخدم صور مكونات Linux نواة Linux 5.4.66.

المصدر: opennet.ru

إضافة تعليق