لأنني أستطيع.
قضاء وقت ممتع هو محرك هذا المشروع + أتعلم الكثير من الأشياء المنخفضة الرائعة إلى جانب ذلك!
Cavos kernel عبارة عن عصر الحجري المترابط x86_64 واحد مكتوب في C بسيطة نسبيًا مع بضعة أجزاء من مجموعة Intel هنا وهناك. يستخدم محمل التمهيد Limine ويستفيد من نظام ملفات FAT32 للتمهيد مع Ext2 لقسم الجذر. أحاول الحفاظ على بنية الكود نظيفة وسهلة الفهم إلى حد ما ، مع تجنب الكثير من التجريد. وبالتالي ، فإن جودة الكود والوضوح في بعض الأحيان يتم إعطائها الأولوية على مكاسب الأداء.
يعد Userpace Pace هو تركيزي الأساسي في الوقت الحالي ، حيث تكون النواة مستقرة تمامًا . أحاول جعل نظام التشغيل هذا بالقرب من Linux قدر الإمكان ، مع إضافة أشيائي الخاصة فوقه. هذا مرئي مع مكالمات النظام التي تشبه Linux تمامًا. هذا ليس عشوائيًا ، أريد أن يكون كافوس متوافقًا معها قدر الإمكان!
لا! لا يشارك Cavos kernel رمز المصدر أو الرؤوس مع Linux. يتم سحب رمز مصدر Linux أثناء تجميع مساحة المستخدمين ، ولكن فقط لأن بعض برامج الطرف الثالث (المنقذ) تعتمد على رؤوسها. حتى ذلك الحين ، لا يتم مشاركة رمز فعلي.
من المهم أن نذكر أن هذه الأهداف قد لا تكون راضية أبدًا ، فاستغرق وقتًا طويلاً للغاية ليتم الانتهاء منها (نتحدث عن سنوات على الطريق) أو قد لا يتم أبدًا. علاوة على ذلك ، لن تتضمن هذه القائمة كل ميزة تنفيذها أو تخطيطها ويمكن تغييرها في أي وقت ...
systemcall يمكن العثور على كل شيء عن هذا في install.md. انتقل إلى هناك لمزيد من المعلومات حول بناء نظام التشغيل بشكل صحيح ، وتنظيف الثنائيات غير المستخدمة وغيرها من الأشياء.
السبت الثاني من مارس من عام 2024. من خلال العديد من الحلول ، قرارات "سيئة" وعقلية "متعجرف" للتو "، قمت بتجميع نواة X86 (32 بت) بحتة لا يمكن أن تتغذى على تطبيقات المستخدمين. ما زلت متمسكًا بالرمز القديم (من الخلف عندما لم أفهم المفاهيم البسيطة ، مثل Say Paging) ، والمكتبات القديمة والكثير من الأشياء الأخرى. لقد نجحت في بعض الأحيان ، لكنني لم أكن راضيا.
5:00 مساءً ؛ بعد ظهر ذلك اليوم ، قررت أن أبدأ عملية طويلة من ترحيل كل شيء إلى الهندسة المعمارية X86_64 وتسكي الكثير من مشكلات الموثوقية ، مما جعل الكوابيس الفعلية للتصحيح. لقد وصلت بشكل أساسي إلى نقطة معينة لفهم أن حلول Quick & Dity تؤدي فقط إلى أخطاء يمكن تجنبها تمامًا ، والتي كان من الصعب للغاية تحديدها بعد إضافة كميات هائلة من التجريدات.
تم ترخيص هذا المشروع بموجب GPL V3 (GNU General Public License v3.0). لمزيد من المعلومات انتقل إلى ملف الترخيص.