Minoca OS: نظام تشغيل مجاني جديد



اثنين من المطورين مقدام إيفان غرين و كريس ستيفنز قرر في خطوة جريئة. وكتب الباحثون من الصفر نظام التشغيل الجديد تماما Minoca OS و نشرت شفرة المصدر تحت رخصة حرة GNU GPL V3.

هذه عبارة عن 625000 سطر من التعليمات البرمجية الموثقة جيدًا ، بشكل رئيسي في لغة البرمجة C ، جزئيًا في C ++ و Assembler. يبلغ حجم نواة نظام x86 حوالي 750 كيلوبايت. باستخدام برامج التشغيل ومكدس الشبكة ومخزن الفيديو المؤقت ، يستخدم النظام الذي تم تحميله حديثًا 5-7 ميغابايت من ذاكرة الوصول العشوائي.

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

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

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


تقول المناطق المزعومة لاستخدام Minoca OS

Developers أنها تهدف إلى إنشاء نظام تشغيل اقتصادي ومعياري ويسهل صيانته. وهو متوافق مع مجموعة واجهات POSIX القياسية. هذا يعني أنه يمكنك تشغيل العديد من التطبيقات التي تعمل على Linux.

ابتكار مهم هو الواجهة الخاصة بين برامج تشغيل الأجهزة ونواة نظام التشغيل. هذا النموذج يجعل من الممكن كتابة برامج تشغيل "توقع" الإصدارات المستقبلية من النواة. وبعبارة أخرى ، يمكن تحديث النواة دون أن يلاحظها أحد ، دون إعادة تجميع برامج التشغيل.



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



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


يعمل





مصحح أخطاء Minoca OS على بنى x86 و ARMv6 و ARMv7 مع دعم الذاكرة الافتراضية والعديد من وحدات الميغابايت من ذاكرة الوصول العشوائي. يتطور نظام التشغيل بشكل جيد ، وبالتالي يعمل بشكل جيد على أجهزة الكمبيوتر الشخصية التي تحتوي على عدد كبير من نوى المعالج وجيجابايت من ذاكرة الوصول العشوائي.

يتم تضمين برامج تشغيل للعديد من الأجهزة القياسية.

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

المراجع:

  • كود مصدر جيثب
  • صور لـ Raspberry Pi 2 و Raspberry Pi و BeagleBone Black و Asus C201 و PandaBoard و x86 PC و x86 PC (UEFI) و Galileo
  • Minoca OS Starter Pack ، التي يمكن تشغيلها في محاكي Qemu (تتضمن المجموعة صورة x86 Minoca OS التمهيد ، Minoca Debugger ، Qemu emulator ، Win32 Disk Imager وجميع x86 ثنائيات)
  • الحزم المتوافقة وإرشادات البناء ، بما في ذلك Python و Ruby و Git و Lua و Node.
  • التوثيق

Source: https://habr.com/ru/post/ar398745/


All Articles