رمز بسيط ، كود نظيف ، موثق جيدًا ، نظام تشغيل 64 بت من معالجات Intel و AMD. إنه مكتوب في Assembly (Intel Syntax) و C (GNU99 Standard) حيث أسعى إلى إضافة تعليقات إلى الكود المصدري قدر الإمكان بحيث يمكن استخدامه كمرجع لمطوري نظام التشغيل المستقبليين.
أنه يحتوي على المكونات التالية المكتوبة من الصفر:
| عنصر | وصف | رمز المصدر |
|---|---|---|
| MBR | أول مرحلة التمهيد | شفرة |
| اللودر | مرحلة الثانية | شفرة |
| عنصر | وصف | رمز المصدر |
|---|---|---|
| PML4 | بنية الترحيل | شفرة |
| صاحب | نظام تخصيص الذاكرة | شفرة |
| printk | Printf تشبه تنسيق سلسلة التحليل | شفرة |
| السائق التسلسلي | إرسال msgs printk عبر RS232 للمساعدة في تصحيح الأخطاء | شفرة |
| تفريغ أساسي | تفريغ سجلات وحدة المعالجة المركزية لأغراض تصحيح الأخطاء | شفرة |
| Syscall/sysret | تم اختيار الطريقة للقفز إلى الحلقة 3 والعودة | شفرة |
| حفرة | توقيت فاصل زمني قابل للبرمجة | شفرة |
| صورة | وحدة تحكم المقاطعة القابلة للبرمجة | شفرة |
| (س) التأخير | استنادًا إلى LittleOps نظرًا لأنني أستخدم Pit | شفرة |
| CMOS RTC | الساعة الحقيقية | شفرة |
| جدولة | جدولة Round-Robin بسيطة | شفرة |
تتم إضافة الوظائف عند الطلب: رمز
المزيد في المستقبل! نجم/شاهد هذا الريبو للبقاء على ضبط!
من أجل إنشاء هذا التطبيق ، من المتوقع أن يكون لديك make docker في جهازك. يجب الاعتناء بجميع تبعيات البناء الأخرى تلقائيًا بواسطة صورة Docker التي تم إنشاؤها خلال هذه الخطوة.
لبناءه عليك تشغيل:
make build
من أجل تشغيل هذا التطبيق ، من المتوقع أن يكون لديك وتثبيت make qemu-system-x86_64 في جهازك.
make test
للتأكد من أنني لن أفقد التركيز على ما أريد أن يتمكن نظام التشغيل من القيام به ، قررت كتابة قائمة بالميزات التي أريد تنفيذها على المدى القصير إلى المتوسط.
الأشياء التي ستكون رائعة ، لكنني لست متأكدًا مما إذا كان لدي ما يلزم القيام به خلال حياتي.
هذه هي كل المراجع التي ساعدتني كثيرًا خلال تطور الميداوس
المنتديات:
الكتب:
أنظمة التشغيل الحالية:
الدورات: