يعمل Fuchsia OS على دعم تشغيل برامج Linux غير المعدلة

مطوري جوجل أعلن قبل أيام قليلة خطة لتنفيذ آلية لتشغيل البرامج غير المعدلة المترجمة لنظام Linux على نظام التشغيل "ضارب الى الحمرة".

لتشغيل برامج Linux في مساحة المستخدم ، من المخطط توفير طبقة "starnix" للتوافق مع Linux ABI. في طبقة البناء ، يتم تنفيذ واجهات نظام Linux kernel في برنامج تشغيل يتم تشغيله كعملية لنظام تشغيل Fuchsia ، والذي يعمل في مساحة المستخدم ويترجم الطلبات من برامج Linux إلى مكالمات إلى أنظمة Fuchsia الفرعية المقابلة.

ويلاحظ ماهـ أثناء تطوير المشروع ، سيتعين تعديل العديد من أنظمة الفوشيه الفرعية لتنفيذ جميع واجهات النظام المتوفرة في Linux. بنية starnix هي نفسها إلى حد كبير نظام Windows الفرعي لنظام Linux الذي يستخدمه Windows لترجمة مكالمات نظام Linux إلى مكالمات نظام Windows.

تم التخطيط لتطبيق رمز starnix في Rust لتقليل نواقل الضعف المحتملة.التي يمكن استخدامها لرفع امتيازات عملية Linux إلى عملية starnix.

لضمان الأمان في starnix ، سيتم استخدام آليات حماية الفوشيه القياسية كلما أمكن ذلك.

على سبيل المثال ، عند الوصول إلى خدمات النظام مثل نظام الملفات أو مكدس الشبكة أو النظام الفرعي للرسومات ، لن يقوم starnix إلا بترجمة الطلبات وتحويل Linux ABI إلى نظام Fuchsia ABI ، مما يسمح بنفس القيود التي تنطبق على عمليات Fuchsia العادية.

سيؤدي هذا أيضًا إلى تنفيذ آليات الترخيص الخاصة بـ Linux ، على سبيل المثال تحديد المواقف التي يكون فيها لعملية Linux واحدة الحق في قتل الأخرى.

طور مطورو Fuchsia دعمًا لإطلاق تطبيقات Linux في الماضي ، لكنهم جربوا تطبيقًا يعمل بالتشابه مع كيفية تنظيم تشغيل تطبيق Linux على Chrome OS.

من أجل التوافق مع Linux ، قدمت Fuchsia مكتبة Machina.، مما سمح لبرامج Linux بالعمل في آلة افتراضية معزولة خاصة تم تشكيلها باستخدام برنامج Hypervisor على أساس Zircon kernel ومواصفات Virtio.

لا يتم استبعاد استخدام المحاكاة الافتراضية ، نظرًا لأن التنفيذ الكامل لواجهة نظام Linux ليس مهمة تافهة.

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

في مرحلة ما ، بدأت Microsoft في بناء طبقة توافق Linux الخاصة بها حول المترجم ، لكنها تحولت في النهاية إلى استخدام Linux kernel الأصلي في نظام Windows الفرعي لنظام Linux 2.

وبالإضافة إلى ذلك، يوفر Fuchsia بالفعل طبقة توافق POSIX Lite الذي يعمل على نظام Fuchsia System ABI. يسمح لك POSIX Lite بتشغيل بعض برامج Linux ، ولكنه يتطلب إعادة ترجمة كود التطبيق ، وفي بعض الحالات ، تعديل كود المصدر.

واحدة من المشاكل مع POSIX Lite هو التنفيذ غير الكامل لجميع وظائف POSIX ، بما في ذلك دعوات لتغيير الحالة العالمية للعمليات (على سبيل المثال ، وظيفة القتل) ، والتي تتعارض مع مفاهيم الأمان في الفوشيه ، والتي تحظر تغيير الحالة العالمية للعمليات. يعبر.

استخدام POSIX Lite له ما يبرره في عملية نقل التطبيقات المفتوحةs ، ولكنه لا يحل مشكلات تشغيل البرامج التي لا يتوفر لها وصول إلى الكود (على سبيل المثال ، من المستحيل تحقيق التوافق مع تطبيقات Android التي تحتوي على إدخالات أصلية مجمعة).

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

يعتمد النظام على Zircon microkernel ، استنادًا إلى تطورات مشروع LK ، الممتد للاستخدام في فئات مختلفة من الأجهزة ، بما في ذلك الهواتف الذكية وأجهزة الكمبيوتر الشخصية.

مصدر: https://fuchsia.googlesource.com


اترك تعليقك

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

*

*

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