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

تم نشر إصدار نظام التشغيل Redox 0.8 ، الذي تم تطويره باستخدام لغة Rust ومفهوم microkernel. يتم توزيع تطورات المشروع بموجب ترخيص MIT المجاني. لاختبار نظام التشغيل Redox OS ، يتم تقديم إصدارات تجريبية تبلغ 768 ميجابايت ، بالإضافة إلى صور ببيئة رسومية أساسية (256 ميجابايت) وأدوات وحدة تحكم لأنظمة الخادم (256 ميجابايت). يتم إنشاء التجميعات لمعمارية x86_64 وهي متاحة للأنظمة التي تحتوي على UEFI و BIOS. تتضمن الصورة التجريبية ، بالإضافة إلى البيئة الرسومية المدارية ، محاكي DOSBox ، ومجموعة مختارة من الألعاب (DOOM ، و Neverball ، و Neverputt ، و sopwith ، و syobonaction) ، وبرامج تعليمية ، ومشغل موسيقى rodioplay ، ومحرر نصوص الصوديوم.

يتطور نظام التشغيل وفقًا لفلسفة 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 ، تمت إضافة القدرة على العمل على أنظمة 32 بت x86 (i686 و Pentium II والأحدث). جارٍ النقل إلى وحدة المعالجة المركزية ARM64 (aarch64). لم يتم دعم العمل على أجهزة ARM الحقيقية حتى الآن ، ولكن من الممكن التمهيد عند محاكاة ARM64 في QEMU. بشكل افتراضي ، يتم تمكين النظام الفرعي للصوت ويتم توفير الدعم الأولي لتكوينات الشاشات المتعددة (على الأنظمة التي تحتوي على مخزن إطارات UEFI). من بين المعدات التي يدعمها نظام التشغيل Redox OS ، رقائق الصوت AC'97 و Intel HD Audio ، وإخراج الرسومات عبر VESA BIOS أو UEFI GOP API ، و Ethernet (Intel 1/10 Gigabit Ethernet ، و Realtek RTL8168) ، وأجهزة الإدخال (لوحات المفاتيح ، والفئران ، ولوحات اللمس ) و SATA (AHCI و IDE) و NVMe. لم يتم إعداد دعم Wi-Fi و USB حتى الآن (USB يعمل فقط في QEMU).

ابتكارات أخرى:

  • صور تمهيد مدمجة لأنظمة BIOS و EFI.
  • نقل تنفيذ مكالمات نظام clone و exec إلى مساحة المستخدم.
  • عملية تنزيل مبسطة. تم تقديم برنامج bootstrap الذي يتم تشغيله بواسطة kernel ويوفر مزيدًا من التحميل لملفات ELF ، مثل عملية init.
  • تمت إضافة برنامج تصعيد للسماح لبرامج setuid مثل sudo بالعمل.
  • لتبسيط إنشاء عمليات الخلفية وتثبيتها ، تم اقتراح حزمة صندوق redox-daemon.
  • تمت إعادة تصميم نظام البناء ، حيث أصبح من الممكن إنشاء معماريات مختلفة في نفس شجرة المصدر. لتبسيط تجميع التكوينات المختلفة ، تم اقتراح البرنامج النصي build.sh. دعم إضافي للبناء باستخدام مجموعة أدوات podman. يتم توحيد تجميع kernel و bootloader و initfs مع الحزم الأخرى.
  • تمت إضافة تكوين تجريبي لبناء نماذج البرامج التي لم يتم تضمينها في صورة التمهيد الأساسية مع بيئة رسومية.
  • تمت إضافة دعم التحكم في مستوى الصوت برمجيًا إلى النظام الفرعي الصوتي للمدة الصوتية.
  • تمت إضافة برنامج تشغيل لرقائق الصوت استنادًا إلى AC'97. برنامج تشغيل محسن لرقائق Intel HD Audio.
  • برنامج تشغيل مضاف لوحدات تحكم IDE.
  • دعم محسّن لمحركات أقراص NVMe.
  • برامج تشغيل محسّنة لـ PCI و PS / 2 و RTL8168 و USB HID و VESA.
  • تم إعادة تصميم تنظيم عملية التثبيت: يوجد الآن برنامج bootloader و bootstrap و kernel و initfs في الدليل / boot.
  • قامت النواة بتبسيط العمل باستخدام الذاكرة ، وإضافة القدرة على معالجة مساحات العنوان من مستوى المستخدم.
  • تمت إضافة دعم أنظمة الشاشات المتعددة إلى الغلاف الرسومي المداري ، وتم تحسين معالجة مؤشر الماوس ، كما تمت إضافة مؤشر لتغيير مستوى الصوت. القائمة لديها القدرة على تقسيم التطبيقات إلى فئات.

المصدر: opennet.ru

إضافة تعليق