سيكون النموذج الأولي لنظام التشغيل OS Phantom المحلي المستند إلى Genode جاهزًا قبل نهاية العام

تحدث دميتري زافاليشين عن مشروع لنقل جهاز افتراضي من نظام التشغيل Phantom للعمل في بيئة Genode microkernel OS. تشير المقابلة إلى أن الإصدار الرئيسي من Phantom جاهز بالفعل للمشاريع التجريبية، وستكون النسخة المستندة إلى Genode جاهزة للاستخدام في نهاية العام. في الوقت نفسه، تم الإعلان عن نموذج أولي مفاهيمي قابل للتطبيق فقط على الموقع الإلكتروني للمشروع، ولم يتم الارتقاء باستقراره ووظيفته إلى مستوى مناسب للاستخدام الصناعي، ومن بين الخطط الفورية تشكيل نسخة ألفا مناسبة للتجارب من قبل مطوري الطرف الثالث المذكورة.

يتم توزيع رمز المشروع بموجب ترخيص LGPL، لكن التغيير الأخير في المستودع الرئيسي كان بتاريخ نوفمبر 2019. ويتركز النشاط العام المتعلق بالمشروع في مستودع بشوكة جينود، والذي تم الحفاظ عليه منذ ديسمبر 2020 من قبل أنطون أنتونوف، وهو طالب من جامعة إنوبوليس.

منذ أوائل العقد الأول من القرن الحادي والعشرين، تم تطوير نظام التشغيل Phantom كمشروع شخصي لديمتري زافاليشين، ومنذ عام 2000 تم نقله تحت جناح شركة Digital Zone التي أنشأها ديمتري. يتميز النظام بتركيزه على الموثوقية العالية واستخدام مفهوم "كل شيء كائن" بدلاً من "كل شيء ملف"، مما يسمح لك بالاستغناء عن استخدام الملفات بسبب الحفاظ على حالة الذاكرة و دورة عمل مستمرة. لا يتم إنهاء التطبيقات في Phantom، ولكن يتم تعليقها واستئنافها فقط من النقطة التي تمت مقاطعتها. يمكن تخزين جميع المتغيرات وهياكل البيانات للمدة التي يحتاجها التطبيق، ولا يحتاج المبرمج إلى القلق بشأن حفظ البيانات على وجه التحديد.

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

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

بالنسبة للتطبيق، يبدو العمل مستمرًا ولا يعتمد على إعادة تشغيل نظام التشغيل أو الأعطال أو إيقاف تشغيل الكمبيوتر. تتم مقارنة نموذج البرمجة لـ Phantom بتشغيل خادم تطبيقات لا يتوقف أبدًا للغة برمجة الكائنات. يعتبر نقل برامج Java إلى Phantom إحدى الطرق الرئيسية لتطوير التطبيقات، والتي يتم تسهيلها من خلال تشابه جهاز Phantom الظاهري مع JVM. بالإضافة إلى مترجم Bytecode للغة Java، يخطط المشروع لإنشاء مترجمين لـ Python وC#، بالإضافة إلى تنفيذ مترجم من كود WebAssembly المتوسط.

لتنفيذ العمليات التي تتطلب أداءً عاليًا، مثل معالجة الفيديو والصوت، من الممكن تشغيل كائنات ثنائية ذات تعليمات برمجية أصلية في سلاسل منفصلة (يتم استخدام LLVM لتجميع الكائنات الثنائية). للوصول إلى خدمات kernel ذات المستوى المنخفض، يتم تنفيذ بعض فئات VM (الفئات "الداخلية") على مستوى kernel لنظام التشغيل. لتشغيل تطبيقات Linux، يتم توفير طبقة POSIX التي تحاكي الاستدعاءات اللازمة لتشغيل عمليات Unix (لم يتم توفير استمرارية التطبيقات في طبقة POSIX بعد).

سيكون النموذج الأولي لنظام التشغيل OS Phantom المحلي المستند إلى Genode جاهزًا قبل نهاية العام

يشتمل نظام Phantom OS التقليدي، بالإضافة إلى الجهاز الظاهري، على نواة خاصة به مع تنفيذ الخيوط، ومدير الذاكرة، وجامع البيانات المهملة، وآليات المزامنة، ونظام الإدخال / الإخراج وبرامج التشغيل للعمل مع الأجهزة، مما يعقد بشكل كبير تنفيذ المشروع للاستعداد للاستخدام على نطاق واسع. بشكل منفصل، يتم تطوير المكونات التي تحتوي على مكدس شبكة ونظام فرعي للرسومات وواجهة مستخدم. من الجدير بالذكر أن النظام الفرعي للرسومات ومدير النوافذ يعملان على مستوى النواة.

ولزيادة استقرار المشروع وقابليته للنقل وأمانه، جرت محاولة لنقل الجهاز الظاهري Phantom للعمل باستخدام مكونات نظام التشغيل Genode المفتوح للنوى، والذي تشرف على تطويره شركة Genode Labs الألمانية. بالنسبة لأولئك الذين يرغبون في تجربة Phantom استنادًا إلى Genode، تم إعداد بيئة بناء خاصة قائمة على Docker.

سيؤدي استخدام Genode إلى تمكين استخدام النوى وبرامج التشغيل المثبتة بالفعل، بالإضافة إلى نقل برامج التشغيل إلى مساحة المستخدم (في شكلها الحالي، تتم كتابة برامج التشغيل بلغة C ويتم تنفيذها على مستوى Phantom kernel). وعلى وجه الخصوص، سيكون من الممكن استخدام النواة الدقيقة seL4، التي خضعت للتحقق من الموثوقية الرياضية، مما يؤكد أن التنفيذ يتوافق تمامًا مع المواصفات المحددة في اللغة الرسمية. ويجري النظر في إمكانية إعداد دليل مماثل على موثوقية الجهاز الظاهري Phantom، مما سيسمح بالتحقق من بيئة نظام التشغيل بأكملها.

مجال التطبيق الرئيسي للمنفذ القائم على Genode هو تطوير التطبيقات لمختلف الأجهزة الصناعية والمدمجة. حاليًا، تم بالفعل إعداد مجموعة من التغييرات للجهاز الظاهري وتمت إضافة الارتباطات التي تعمل أعلى Genode لضمان استمرارية مكونات kernel والواجهات الرئيسية ذات المستوى المنخفض. تجدر الإشارة إلى أن الجهاز الظاهري Phantom يمكنه العمل بالفعل في بيئة Genode 64 بت، ولكن لا يزال من الضروري تنفيذ VM في وضع الثبات، وإعادة صياغة النظام الفرعي لبرنامج التشغيل وتكييف المكونات مع مكدس الشبكة ونظام الرسومات الفرعي لـ Genode.

سيكون النموذج الأولي لنظام التشغيل OS Phantom المحلي المستند إلى Genode جاهزًا قبل نهاية العام
سيكون النموذج الأولي لنظام التشغيل OS Phantom المحلي المستند إلى Genode جاهزًا قبل نهاية العام
سيكون النموذج الأولي لنظام التشغيل OS Phantom المحلي المستند إلى Genode جاهزًا قبل نهاية العام


المصدر: opennet.ru

إضافة تعليق