nightingale
v0.15.0
Nightingale هو نظام تشغيل لـ X86_64 الذي كنت أتطوره لمدة 7 سنوات للتعرف على تصميم البرمجة وتصميم نظام التشغيل منخفض المستوى.
ينفذ Nightingale من مستخدم يشبه Posix في الغالب ، على الرغم من أن الامتثال ليس هدفًا. أرى أن Posix مفيدة كواجهة مفهومة جيدًا وموثقة ، وواجهة تسمح بتوافق مع كميات كبيرة من البرامج الموجودة.

للحصول على معلومات أكثر تحديدًا وقدرة ، راجع about.md.
يستخدم Nightingale نظام إنشاء CMAKE ، ويمكنك العثور على متطلبات الحزمة في ملفات سير عمل GitHub Actions.
make في جذر المشروع../run.rb - سيعرض نص المساعدة الخاص به الخيارات المتاحة doc : الوثائقinclude : ملفات الرأس للنظام بأكملهinterface : تعريفات الواجهة لـ syscalls وقيم errnokernel : جوهر نظام التشغيلlibc : إجراءات شائعة من المستخدمين ، بما في ذلك أشياء مثل printflinker : kernel module loader ، userland dynamic linker ، و libelfscript : البرامج النصية للمرافق لبناء وتطوير العندليبtoolchain : ملفات أدوات CMakeuser : برامج usermode داخل الشجرة الموزعة مع النظامbt.bash : غلاف راحة حول addr2line للاشتراك الخلفيdump.bash : غلاف راحة حول objdumpformat.bash : غلاف راحة حول clang-formatmake.bash : محرك بناء أساسي للمشروعrun.rb : غلاف راحة حول qemu-system-x86_64تحدد هذه الملفات الواضحة واجهة syscall العامة في kernel العندلية ، يتم تقديمها في التعدادات والبيانات الوصفية التي يستخدمها كل من kernel ومكتبة C.
ERRNOS : يحدد قيم errno وأسمائهم وسلاسلهم perrorSYSCALLS : يحدد أرقام syscall وأنواعها وحججها