عن المشروع
egos-2000 هو نظام تشغيل تعليمي هدفه المعلن أن يتمكن كل طالب من قراءة كامل شيفرته. يحافظ المشروع على التنفيذ عند 2000 سطر بالضبط (محسوبة بـ cloc، باستثناء Markdown)، ما يجعل النظام كاملاً صغيراً بما يكفي لدراسته من البداية إلى النهاية.
المعمارية
يعكس اسم "egos" تصميماً ثلاثي الطبقات:
- طبقة Earth: تجريدات خاصة بالعتاد، تشمل واجهات أجهزة tty والقرص بالإضافة إلى واجهات إدارة المؤقت والذاكرة.
- طبقة Grass: تجريدات مستقلة عن العتاد، تشمل كتلة التحكم بالعملية وواجهة استدعاءات النظام.
- طبقة التطبيقات: نظام الملفات، والصدفة، وأوامر المستخدم.
تُعرَّف الواجهات بين الطبقات بواسطة struct earth وstruct grass في ملف الترويسة egos.h.
المنصات والاستخدام
يعمل النظام على QEMU وعلى لوحات RISC-V. يوثّق USAGES.md كيفية تشغيله، وتُشار إلى أدلة RISC-V privileged ISA لتفاصيل مجموعة التعليمات. تشمل المنافذ المجتمعية المذكورة في README كلاً من mriscv (معالج SystemVerilog)، وAllwinner D1، ووحدة الحوسبة Sipeed Lichee RV64 Nezha. كما تم عرض نقل لـ DOOM على egos-2000.
المواد التعليمية
يتضمن كتاب EGOS تسعة مشاريع دراسية مبنية على egos-2000. وقد استُخدم المشروع في مقررات جامعية مثل Northeastern CS4973/6640 وCornell CS4411/5411، ويشيد README بزمالة Facebook إلى جانب عدة مستشارين أكاديميين ومساهمين.
لمن هذا المشروع
هذا في المقام الأول مورد دراسة وتعليم لأنظمة التشغيل: للطلاب والمدرّسين الذين يريدون نواة كاملة قابلة للقراءة ومجموعة مشاريع موجّهة، بدلاً من نظام تشغيل إنتاجي للنشر.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.