تم إطلاق نظام التشغيل Redox 0.8، والذي تم تطويره باستخدام لغة Rust ومفهوم microkernel. يتم توزيع تطورات المشروع بموجب ترخيص MIT المجاني. لاختبار نظام التشغيل Redox OS، يتم تقديم إصدارات تجريبية بحجم 768 ميجابايت، بالإضافة إلى صور مع بيئة رسومية أساسية (256 ميجابايت) وأدوات وحدة التحكم لأنظمة الخادم (256 ميجابايت). يتم إنشاء التجميعات لهندسة x86_64 وهي متاحة للأنظمة التي تحتوي على UEFI وBIOS. تتضمن الصورة التجريبية، بالإضافة إلى البيئة الرسومية Orbital، محاكي DOSBox، ومجموعة مختارة من الألعاب (DOOM، Neverball، Neverputt، sopwith، syobonaction)، والبرامج التعليمية، ومشغل موسيقى rodioplay، ومحرر نصوص Sodium.
يتطور نظام التشغيل وفقًا لفلسفة 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.
يواصل الإصدار الجديد العمل لضمان التشغيل على المعدات الحقيقية. بالإضافة إلى بنية x86_64، تمت إضافة القدرة على العمل على أنظمة x32 ذات 86 بت (i686، Pentium II والإصدارات الأحدث). جاري نقل المعالج إلى وحدة المعالجة المركزية ARM64 (aarch64). لا يتم دعم التشغيل على أجهزة ARM الحقيقية حتى الآن، ولكن من الممكن التمهيد باستخدام محاكاة ARM64 في QEMU. بشكل افتراضي، يتم تمكين نظام الصوت ويتم توفير الدعم الأولي لتكوينات الشاشات المتعددة (على الأنظمة التي تحتوي على إطار عازل UEFI). تتضمن الأجهزة التي يدعمها نظام التشغيل Redox OS شرائح الصوت AC'97 وIntel HD Audio، ومخرجات الرسومات عبر VESA BIOS API أو UEFI GOP، وEthernet (Intel 1/10 Gigabit Ethernet، وRealtek RTL8168)، وأجهزة الإدخال (لوحات المفاتيح، والفئران، ولوحات اللمس)، وSATA (AHCI، وIDE)، وNVMe. لم يتم تجهيز دعم Wi-Fi وUSB بعد (يعمل USB فقط في QEMU).
ابتكارات أخرى:
- تم دمج صور التمهيد لأنظمة BIOS وEFI.
- تم نقل تنفيذ مكالمات النظام clone و exec إلى مساحة المستخدم.
- تم تبسيط عملية الإقلاع. تم تنفيذ برنامج تمهيد، يُشغّل بواسطة النواة، ويُتيح تحميل ملفات ELF، مثل عملية التهيئة.
- تمت إضافة التصعيد للسماح لبرامج setuid مثل sudo بالعمل.
- لتبسيط إنشاء وتثبيت العمليات الخلفية، تم اقتراح حزمة crate redox-daemon.
- أُعيد تصميم نظام البناء، مما يسمح الآن ببناء هياكل مختلفة في شجرة مصدر واحدة. لتبسيط بناء تكوينات مختلفة، تم اقتراح سكربت build.sh. كما أُضيف دعم البناء باستخدام مجموعة أدوات podman. وتم توحيد بناء النواة، ومحمل الإقلاع، وinitfs مع حزم أخرى.
- تمت إضافة تكوين تجريبي لبناء برامج العينة غير المضمنة في صورة التمهيد الأساسية مع بيئة رسومية.
- تم تحديث نظام الصوت الفرعي audiod لدعم التحكم في مستوى الصوت بالبرنامج.
- تمت إضافة برنامج تشغيل لشرائح الصوت المستندة إلى AC'97. تم تحسين برنامج التشغيل لشرائح Intel HD Audio.
- تمت إضافة برنامج تشغيل لوحدات تحكم IDE.
- تم تحسين الدعم لمحركات NVMe.
- تم تحسين برامج تشغيل PCI وPS/2 وRTL8168 وUSB HID وVESA.
- تم إعادة تصميم تنظيم عملية التثبيت: حيث أصبح كل من أداة تحميل التشغيل، وbootstrap، وkernel، وinitfs موجودين الآن في دليل /boot.
- لقد قامت النواة بتبسيط التعامل مع الذاكرة وإضافة القدرة على معالجة مساحات العناوين من مستوى المستخدم.
- يدعم الغلاف الرسومي Orbital الآن أنظمة الشاشات المتعددة، ويحسن التعامل مع مؤشر الماوس، ويضيف مؤشرًا لتغيير مستوى الصوت. تتيح لك القائمة الآن تقسيم التطبيقات إلى فئات.
المصدر: opennet.ru
