هذا هو المستودع الرسمي لنواة Libertyos. Libertyos هو نظام تشغيل ، تم تصميمه مع Rust ، وهو مفتوح المصدر ، مجاني للاستخدام ، ومفتوح للمساهمين الجدد. كل شيء في LOS هو ، أو سيكون ، مبني من الصفر. حاليًا ، تدعم LOS أنظمة X86_64 ، ويمكن تشغيلها على أجهزة حقيقية ، باستخدام محمل تمهيد بسيط. يتم العمل على نظام التشغيل هذا بشكل مستمر ، ويتم تسجيل جميع التغييرات في ملف الإصدار History.md (في الدليل الجذر لهذا المستودع). إذا كنت ترغب في رؤية شرح أكثر تفصيلاً للتغييرات بين الإصدارات ، فيمكنك قراءة الالتزامات على مستودع GitHub.
كيفية المساهمة
هل ترغب في المساعدة في جعل هذه النواة أفضل؟ لدينا الكثير من الأشياء التي يجب القيام بها ، ويمكننا دائمًا استخدام المساعدة في القيام بها! يوجد مجلد في هذا المستودع (يسمى "الأفكار") يحتوي على ملفات مختلفة تشرح فكرة عن النواة. إذا كان لديك فكرة جديدة ، فما عليك سوى إنشاء ملف جديد داخل مجلد الأفكار ، وتقديم طلب سحب ، وسيقوم أحدنا بدمج فكرتك في الفرع الرئيسي. هناك الكثير من الميزات الرائعة التي يتم عملها الآن ، ويمكننا استخدام أكبر عدد ممكن من المطورين الموهوبين!
مدونة
اعتبارًا من 22 أغسطس 2022 ، يوجد ملف مدونة (blog.md). سيوضح هذا بعض قرارات التصميم التي يتم اتخاذها ، وبعض القضايا قيد التطوير ، وما يمكن توقعه في المستقبل القريب. Libertyos لم يمت. هناك مستقبل مشرق في هذا المشروع.
بناء/تشغيل Libertyos
- استنساخ هذا المستودع.
- انتقل إلى الموقع الذي قمت باستنساخه لهذا المستودع.
- تأكد من تثبيت ما يلي:
- قم بتشغيل البرنامج النصي bootstrap (./bootstrap.sh)
- قم بتجميع kernel مع "Build Build -release" ، أو قم بتشغيل kernel في Qemu ، باستخدام "Cargo Run -release".
الميزات التي تم تنفيذها حاليًا
- دعم بنية x86-64
- دعم صناديق الصناور والتوضيح
- تخصيص الذاكرة ، باستخدام قوائم مرتبطة ، تخصيص الأصدقاء ، وتوصيل العثرة
- معالجة الأخطاء الأساسية
- دعم مدمج لتشغيل LOS مع QEMU
- دعم للعديد من تخطيطات لوحة المفاتيح
- الدعم الأساسي للوظائف غير المتزامنة ، بما في ذلك مانعة المهام الأساسية
- دعم للقراءة/الكتابة إلى أنظمة الملفات (دعم أنظمة ملفات محددة لم يتم تنفيذها بعد ، ولكن تم تنفيذ الأسس بالفعل)
- يستخدم مكتبة أساسية ، مصممة لـ Libertyos (libcore)
- يدعم الحسابات الرياضية ، بما في ذلك الجبر الأساسي ، والهندسة ، إلخ.
- دعم لأنواع C.
- الدعم الأساسي لتحليل الخطوط
- حفظ الوقت
- مكالمات النظام
- إدارة العملية الأساسية
- دعم stdin ، stdout ، و stderr
- الدعم الأساسي لتشغيل العمليات في مساحة المستخدمين
ميزات WIP
- نظام الملفات الأساسي ، تم تصميمه لـ Libertyos
- الوثائق الكاملة للنواة بأكملها
- الدعم الكامل للقراءة/الكتابة إلى أنظمة الملفات الدهنية
- قدرات الشبكات الأساسية
- دعم الفئران الكمبيوتر
- قذيفة أساسية
ميزات مخطط لها
- دعم الأهداف القائمة على الذراع
- دعم glibc/musl (أو ، ربما ، إعادة كتابة أجزاء معينة منها)
- دعم FAT ، FAT32 ، EXFAT Systems
- دعم أنظمة ملفات ext2 ، ext3 ، ext4
- دعم نظام ملفات NTFS
- أسماء المضيف
- القدرة على تحديث النواة من داخل نظام التشغيل
- دعم الشخصيات غير الإنجليزية
- الدعم الكامل لليونيكود
- التخصيص الأساسي
السلوك المتوقع حاليا
- تهيئة النواة الأجزاء الحرجة من الحرية
- يعرض kernel رسالة حول عملية الإعداد
- يواجه kernel خطأ في الصفحة. :(