exploring os
1.0.0
هذا المستودع عبارة عن رحلة من خلال مفاهيم نظام التشغيل ، مع تطبيقات عملية في C. كل يوم يركز على موضوع معين ، وتوفير الفهم النظري وتجربة الترميز العملية.
| يوم | عنوان | فئة المفهوم | مستوى الصعوبة | تركيز التنفيذ |
|---|---|---|---|---|
| 1 | مفهوم العملية | العمليات | سهل | تعريف العملية |
| 2 | حالات العملية والتحولات | العمليات | واسطة | تنفيذ مخطط الدولة |
| 3 | آليات إنشاء العملية | العمليات | واسطة | Fork () ، exec () syscalls |
| 4 | أساسيات جدولة العملية | الجدولة | واسطة | خوارزمية FCFS |
| 5 | خوارزميات الجدولة | الجدولة | صعب | SJF ، الأولوية ، جولة روبن |
| 6 | تبديل السياق | العمليات | صعب | تفاصيل التنفيذ |
| 7 | موضوع مفهوم | المواضيع | سهل | موضوع الفهم الأساسي |
| 8 | إنشاء الخيط وإدارته | المواضيع | واسطة | المواضيع Posix |
| 9 | المقارنة بين الخيط مقابل العملية | المواضيع | واسطة | التحليل المقارن |
| 10 | نماذج Multithesply | المواضيع | صعب | مؤشرات ترابط المستخدم مقابل kernel |
| 11 | أساسيات التزامن | التزامن | واسطة | ظروف السباق |
| 12 | Mutex و Semaphores | التزامن | صعب | تطبيق |
| 13 | مفاهيم Deadlock | التزامن | صعب | استراتيجيات الوقاية |
| 14 | خوارزميات الكشف عن طريق المسدود | التزامن | صعب | خوارزمية المصرفي |
| 15 | نظرة عامة على إدارة الذاكرة | ذاكرة | سهل | التسلسل الهرمي للذاكرة |
| 16 | العنوان المادي المنطقي مقابل | ذاكرة | واسطة | ترجمة العنوان |
| 17 | تخصيص الذاكرة المتجاورة | ذاكرة | واسطة | استراتيجيات التخصيص |
| 18 | آلية الترحيل | ذاكرة | صعب | تطبيق جدول الصفحة |
| 19 | خوارزميات استبدال الصفحة | ذاكرة | صعب | FIFO ، LRU ، الأمثل |
| 20 | تجزئة | ذاكرة | واسطة | جدول المقطع |
| 21 | مفاهيم الذاكرة الافتراضية | ذاكرة | صعب | طلب الترحيل |
| 22 | تخصيص الذاكرة الداخلية (Malloc ، مجانًا) | إدارة الذاكرة | صعب | مخصص الذاكرة المخصصة |
| 23 | تقنيات إدارة الذاكرة الديناميكية | إدارة الذاكرة | صعب | استراتيجيات تجمع الذاكرة |
| 24 | أساسيات نظام الملفات | أنظمة الملفات | سهل | مفهوم الملف |
| 25 | بنية نظام الملفات | أنظمة الملفات | واسطة | هياكل الدليل |
| 26 | طرق تخصيص الملف | أنظمة الملفات | واسطة | متجاورة ، مرتبطة |
| 27 | إدارة المساحة الحرة | أنظمة الملفات | صعب | ناقلات بت ، قائمة مرتبطة |
| 28 | آليات حماية الملفات | أنظمة الملفات | واسطة | التحكم في الوصول |
| 29 | إدارة نظام I/O. | أنظمة I/O. | واسطة | أجهزة i/o |
| 30 | خوارزميات جدولة القرص | أنظمة I/O. | صعب | المسح ، c-scan |
| 31 | معالجة المقاطعة | مستوى منخفض | صعب | المتجهات المقاطعة |
| 32 | تنفيذ مكالمات النظام المتقدم | برمجة منخفضة المستوى | صعب | تصميم غلاف Syscall |
| 33 | تتبع مكالمات النظام المتقدم | مستوى منخفض | صعب | اعتراض syscall |
| 34 | تطوير وحدة النواة | مستوى منخفض | صعب | وحدات kernel القابلة للتحميل |
| 35 | التواصل بين العمليات | IPC | صعب | الأنابيب ، طوابير الرسائل |
| 36 | الذاكرة المشتركة المتقدمة | IPC | صعب | ذاكرة مشتركة منخفضة المستوى |
| 37 | مقبس برمجة الغوص العميق | الشبكات | صعب | تنفيذ المقبس الخام |
| 38 | جدولة وحدة المعالجة المركزية المتقدمة | الجدولة | صعب | قوائم قوائم متعددة المستويات |
| 39 | أنظمة التشغيل في الوقت الحقيقي الداخلية | متخصص | صعب | RTOS kernel تصميم |
| 40 | إدارة الذاكرة Kernel Linux | نواة | صعب | تخصيص البلاطة |
| 41 | تزامن العملية المتقدمة | التزامن | صعب | خوارزمية بيترسون |
| 42 | نظرية الرسم البياني لتخصيص الموارد | التزامن | صعب | تمثيل Deadlock |
| 43 | تقنيات تجزئة الذاكرة | ذاكرة | واسطة | تجزئة متقدمة |
| 44 | إدارة ذاكرة التخزين المؤقت الداخلية | ذاكرة | صعب | تماسك ذاكرة التخزين المؤقت |
| 45 | ملفات ملفات الملفات | أنظمة الملفات | صعب | آليات المعاملات |
| 46 | تطوير برنامج تشغيل الجهاز | مستوى منخفض | صعب | برامج تشغيل جهاز الأحرف |
| 47 | تنفيذ آلية الأمن | حماية | صعب | الوصول إلى نواة التحكم |
| 48 | محاكاة جدولة العملية | الجدولة | صعب | محاكاة شاملة |
| 49 | أنظمة ملفات الشبكة الداخلية | أنظمة الملفات | صعب | تصميم FS الموزع |
| 50 | خطأ معالجة آليات النواة | مستوى منخفض | صعب | إدارة الاستثناء |
| 51 | الذاكرة الافتراضية hypervisor | متقدم | صعب | تقنيات المحاكاة الافتراضية |
| 52 | خوارزميات OS الموزعة | متقدم | صعب | بروتوكولات الإجماع |
| 53 | تصميم kernel OS المدمج | متخصص | صعب | الحد الأدنى من النواة |
| 54 | تصميم Microkernel المتقدم | بنيان | صعب | تمرير الرسالة |
| 55 | تنميط أداء OS | متقدم | صعب | تتبع النواة |
| 56 | المعالجة المتوازية البدائية | متقدم | صعب | التوازي منخفض المستوى |
| 57 | آليات تحمل الخطأ | متقدم | صعب | تقنيات الاسترداد |
| 58 | موازنة التحميل المتقدمة | متقدم | صعب | استراتيجيات الجدولة |
| 59 | الحاويات الداخلية | متقدم | صعب | تطبيق مساحة الاسم |
| 60 | kernel التزامن البدائية | متقدم | صعب | Spinlocks ، RCU |
| 61 | تحليل الضعف الأمني | حماية | صعب | عازلة الفائض |
| 62 | آليات نواة التشفير | حماية | صعب | تشفير بدائل |
| 63 | تقنيات الكشف عن البرامج الضارة | حماية | صعب | الكشف عن مستوى النواة |
| 64 | نظام التشغيل الطب الشرعي OS الغوص العميق | حماية | صعب | تحليل تتبع النواة |
| 65 | تصميم تخصيص الذاكرة | ذاكرة | صعب | تنفيذ كومة مخصص |
| 66 | آليات IPC المتقدمة | IPC | صعب | إشارات متقدمة |
| 67 | أساليب تصحيح الأخطاء kernel | مستوى منخفض | صعب | تحليل تحطم النواة |
| 68 | معالجة Syscall المتقدمة | مستوى منخفض | صعب | تحسين syscall |
| 69 | أكمل نموذج OS kernel | مشروع | صعب | الحد الأدنى من النواة القابلة للتمهيد |
يمتد كل مشروع 3 أيام ، مما يسمح بالاستكشاف والتنفيذ المتعمق.
بناء نواة قابلة للتمهيد الحد الأدنى
تنفيذ مخصص للذاكرة مخصص
تطوير محاكاة نظام الملفات
إنشاء محاكاة جدولة العملية
تصميم مدير ذاكرة افتراضي
تطوير وحدة kernel قابلة للتحميل
تنفيذ نظام ملفات الشبكة
بناء نواة نظام التشغيل في الوقت الفعلي
رخصة
هذا مورد تعليمي متقدم لفهم أنظمة التشغيل من خلال التنفيذ المتعمق.