إصدار نظام التشغيل Redox OS 0.7 المكتوب بلغة Rust

بعد عام ونصف من التطوير ، تم نشر إصدار نظام التشغيل Redox 0.7 ، الذي تم تطويره باستخدام لغة Rust ومفهوم microkernel. يتم توزيع تطورات المشروع بموجب ترخيص MIT المجاني. لاختبار نظام التشغيل Redox OS ، يتم توفير التثبيت والصور الحية ، بحجم 75 ميجابايت. يتم إنشاء التجميعات لمعمارية x86_64 وهي متاحة للأنظمة التي تحتوي على UEFI و BIOS.

عند إعداد إصدار جديد ، تم إيلاء الاهتمام الرئيسي لضمان العمل على أجهزة حقيقية. الابتكارات الرئيسية:

  • تمت إعادة كتابة أداة تحميل التشغيل بالكامل ، حيث يتم توحيد رمز التمهيد على الأنظمة باستخدام BIOS و UEFI وكتابته بشكل أساسي في Rust. أدى تغيير محمل الإقلاع إلى توسيع نطاق الأجهزة المدعومة بشكل كبير.
  • في النواة ، بالإضافة إلى إصلاح الخلل ، تم العمل على تحسين الأداء وتوسيع دعم الأجهزة. تم نقل المتغيرات الخاصة بوحدة المعالجة المركزية لاستخدام سجل GS. يتم توفير انعكاس (تعيين) لجميع الذاكرة الفعلية ، ويتم إيقاف استخدام صفحات الذاكرة العودية. تمت إعادة كتابة كود المجمع في الإدخالات المضمنة لتحسين التوافق مع الإصدارات المستقبلية من المترجم.
  • تمت إضافة الدعم الأولي لمعمارية AArch64.
  • تم التبديل إلى معالجة جميع مسارات الملفات بترميز UTF-8.
  • تم نقل الكود الخاص بالعمل مع مواصفات ACPI AML (ACPI Machine Language) - uefi.org من kernel إلى عملية الخلفية acpid التي تعمل في مساحة المستخدم.
  • تم نقل محتويات Initfs إلى ملف جديد ، مما يسهل عملية الحزم.
  • تمت إعادة كتابة نظام ملفات RedoxFS وتحويله لاستخدام آلية CoW (النسخ عند الكتابة) ، حيث لا تحل التغييرات محل المعلومات ، ولكن يتم حفظها في موقع جديد ، مما جعل من الممكن تحقيق زيادة كبيرة في الموثوقية. من الميزات الجديدة لـ RedoxFS ، يتم ملاحظة دعم تحديثات المعاملات ، وتشفير البيانات باستخدام خوارزمية AES ، بالإضافة إلى ضمان البيانات والبيانات الوصفية بالتوقيعات الرقمية. يتم توفير الاستخدام المشترك لرمز FS في النظام ومحمل الإقلاع.
  • استمر تحسين مكتبة Relibc القياسية C التي طورها المشروع ، والتي يمكن أن تعمل ليس فقط في Redox ، ولكن أيضًا في التوزيعات القائمة على نواة Linux. جعلت التغييرات من السهل نقل البرامج المختلفة إلى Redox وحل المشكلات مع العديد من البرامج والمكتبات المكتوبة بلغة C.
  • تم تجهيز نسخة من برنامج التحويل البرمجي rustc والتي يمكن تشغيلها في Redox. من بين المهام المتبقية ، تمت ملاحظة تحسين الأداء وتكييف مدير حزمة الشحن للعمل في بيئة الأكسدة والاختزال.

إصدار نظام التشغيل Redox OS 0.7 المكتوب بلغة Rust

يتطور نظام التشغيل وفقًا لفلسفة Unix ويستعير بعض الأفكار من SeL4 و Minix و Plan 9. يستخدم Redox مفهوم microkernel ، حيث يتم توفير الاتصال فقط بين العمليات وإدارة الموارد على مستوى النواة ، ويتم وضع جميع الوظائف الأخرى في المكتبات التي يمكن استخدامها على حد سواء kernel وتطبيقات المستخدم. تعمل جميع برامج التشغيل في مساحة المستخدم في بيئات آلية منعزلة. للتوافق مع التطبيقات الحالية ، يتم توفير طبقة POSIX خاصة للسماح بتشغيل العديد من البرامج بدون نقل.

يطبق النظام مبدأ "كل شيء هو عنوان URL". على سبيل المثال ، يمكن استخدام عنوان URL "log: //" للتسجيل ، و "bus: //" للاتصال بين العمليات ، و "tcp: //" للاتصال بالشبكة ، وما إلى ذلك. يمكن للوحدات النمطية ، التي يمكن تنفيذها كبرامج تشغيل وامتدادات kernel وتطبيقات مخصصة ، تسجيل معالجات URL الخاصة بها ، على سبيل المثال ، يمكنك كتابة وحدة وصول I / O وربطها بعنوان URL "port_io: //" ، وبعد ذلك يمكنك استخدامه للوصول إلى المنفذ 60 عن طريق فتح عنوان URL "port_io: // 60".

تم بناء بيئة المستخدم في Redox حول الغلاف الرسومي الخاص بـ Orbital (يجب عدم الخلط بينه وبين الغلاف المداري الآخر الذي يستخدم Qt و Wayland) ومجموعة أدوات OrbTk ، التي توفر واجهة برمجة تطبيقات مشابهة لـ Flutter و React و Redux. يستخدم Netsurf كمتصفح ويب. يطور المشروع أيضًا مدير الحزم الخاص به ، ومجموعة من الأدوات المساعدة القياسية (binutils ، و coreutils ، و netutils ، و extrautils) ، وقذيفة أوامر أيون ، ومكتبة relibc القياسية C ، ومحرر نص يشبه vim ، ومكدس الشبكة ، والملف نظام. تم ضبط التكوين بلغة Toml.

المصدر: opennet.ru

إضافة تعليق