دليل المراجعة · GKU 6
دليل مراجعة نظم التشغيل (علوم الحاسب)
لنظام التشغيل مهمتان تتجاذبان. فعليه أن يعطي كل برنامج آلة بسيطة خاصة به — معالجه وذاكرته وملفات ذات أسماء — وعليه أن يقسم آلة حقيقية واحدة بينها جميعاً بكفاءة وأمان. يتناول النصف الأول من هذه الوحدة كيف يُنظَّم ذلك: ما الغرض من نظام التشغيل، والطبقات بين التطبيق والعتاد، والحد بين وضع النواة ووضع المستخدم، وكيف تتيح المقاطعات وطوابير الأجهزة للعتاد البطيء والمعالجات السريعة أن تعمل معاً. ويتناول النصف الثاني الأجزاء الصعبة من المشاركة: العمليات والخيوط، واختيار من يعمل تالياً، وما يفسد حين تلمس الخيوط البيانات نفسها وكيف تمنع الأقفال والسيمافورات ذلك، والجمود، وكيف تُقسَّم الذاكرة وتُجعل افتراضية، وكيف يحمي نظام التشغيل البرامج والمستخدمين بعضهم من بعض. يبدأ كل قسم ببطاقة مراجعة سريعة، وتتدرج الأمثلة المحلولة من السهل إلى مستوى الاختبار. وقد أُعيد حساب أرقامها في Python، وشُغّلت شيفرات Python، وتُرجمت شيفرات C بالمترجم clang وشُغّلت.
مبني على المعيار التخصصي الرسمي لهيئة تقويم التعليم والتدريب لهذا الموضوع: كل موضوع مُدرج وكل مخرج تعلّم، مع المعادلات والأشكال والأمثلة المحلولة. الأقسام الكاملة متاحة للأعضاء في التطبيق.
SKU 6.1 · مبادئ نظم التشغيل
أهداف نظم التشغيل ووظائفها وأنواعها
الغرض من نظام التشغيل، والخدمات التي يقدمها كل نظام، وكيف تختلف الأنظمة الدفعية والمشاركة الزمنية وأحادية المستخدم والعميل والخادم والموزعة والآنية — مع نموذج تعدد البرامج الذي يفسر لماذا تُجدي مشاركة المعالج.
الطبقات المنطقية ووضعا النواة والمستخدم وواجهات البرمجة والبرمجيات الوسيطة
كيف يُبنى النظام طبقات، ولماذا للمعالج وضع نواة ووضع مستخدم، وكيف يصبح استدعاء المكتبة استدعاءً للنظام، وما تضيفه البرمجيات الوسيطة بين التطبيق وخدمة موزعة.
إدارة الموارد والعمليات
ما يسجله نظام التشغيل عن كل عملية، وكيف تُنشأ العمليات بـfork وexec وwait، وكيف تقيس ما يستهلكه التطبيق، والطرق القياسية التي توقف بها برمجيات النظام هدر المعالج والأجهزة: الحجب بدلاً من الدوران، والتخزين المؤقت، والتخزين الوسيط، والتجميع.
معالجة المقاطعات
كيف تُؤخذ المقاطعة ويُعاد منها، وكيف يُعرف مصدرها (متجهة أو بالاستطلاع)، وكيف تقرر الأولويات والتداخل من ينتظر، ومتى يتفوق الاستطلاع على المقاطعات.
إدارة الأجهزة: المشغلات وطوابير الإدخال والإخراج وجدولة القرص
كيف يتتبع نظام التشغيل الأجهزة والطلبات المنتظرة لها، وما يفعله المشغل، وكيف يخفف DMA والتخزين المؤقت والتخزين الوسيط عن المعالج، وكيف يُرتَّب طابور القرص لتقليل حركة الرأس.
SKU 6.2 · التزامن والجدولة وإدارة الذاكرة وحماية نظام التشغيل
حالات العملية والخيوط وتبديل السياق
الحالات التي تمر بها المهمة والأحداث التي تنقلها، وكيف يُصمَّم مخطط حالات لمسألة جديدة، وكيف تختلف الخيوط عن العمليات — ولماذا قد توقف خيوط مستوى المستخدم عملية كاملة.
خوارزميات جدولة المعالج
معايير الجدولة، والخوارزميات التقليدية (FCFS وSJF وSRTF والأولوية والتناوب الدوري والطوابير متعددة المستويات بالتغذية الراجعة)، وكيف تُقارن بمخططات غانت وأزمنة الإنجاز والانتظار والاستجابة.
حالات السباق والمقاطع الحرجة والأقفال
لماذا تفسد التحديثات المتزامنة، والمتطلبات الثلاثة لحل المقطع الحرج، وخوارزمية بيترسون، وتعليمات العتاد والأقفال التي تستعملها الأنظمة الحقيقية.
السيمافورات والمراقبات ومسائل التزامن التقليدية
السيمافورات العدّادة والثنائية، والترتيب والإشارة بها، والمراقبات ومتغيرات الشرط، ومسائل المخزن المحدود والقراء والكتّاب والفلاسفة الآكلين.
الجمود: شروطه ومنعه وتجنبه واكتشافه
الشروط الأربعة، ومخططات تخصيص الموارد، وطرق منع كل شرط، وخوارزمية المصرفي للتجنب، والاكتشاف والتعافي.
تخصيص الذاكرة: التقسيمات والترقيم والتقطيع
كيف يعطي نظام التشغيل الذاكرة للمهام: مسجلا القاعدة والحد، والتخصيص المتجاور بالملاءمة الأولى والفضلى والأسوأ والتالية، والتجزئة، والترقيم والتقطيع مع ترجمات عناوينهما.
الذاكرة الافتراضية: TLB وأخطاء الصفحات والاستبدال والتخبط
الترقيم عند الطلب، وكلفة إخفاق TLB وخطأ الصفحة، وسياسات الاستبدال FIFO وLRU والمثلى مع شذوذ بيلادي، ومجموعة العمل، والتخبط، وموازنات الكلفة والأداء في هرم الذاكرة.
الحماية والأمن
الآليات التي يستعملها نظام التشغيل للتحكم في الوصول — الأوضاع، وحماية الذاكرة، ونطاقات الحماية، ومصفوفات الوصول، وقوائم التحكم والصلاحيات، وصلاحيات يونكس — ومبدأ الامتياز الأدنى، والمصادقة، والمحاكاة الافتراضية وسيلةً للعزل، وما لا يستطيع نظام التشغيل الحماية منه.
أدلة أخرى في علوم الحاسب
- دليل مراجعة لغات البرمجةGKU 7 · عدد الأقسام: 11
- دليل مراجعة الخوارزميات والحوسبة والتعقيدGKU 1 · عدد الأقسام: 11
- دليل مراجعة الهياكل المتقطعةGKU 3 · عدد الأقسام: 9
- دليل مراجعة هندسة البرمجياتGKU 8 · عدد الأقسام: 6
- دليل مراجعة معمارية الحاسوب وتنظيمهGKU 2 · عدد الأقسام: 12
- دليل مراجعة إدارة المعلومات: نظم قواعد البيانات ونمذجة البياناتGKU 4 · عدد الأقسام: 10
- دليل مراجعة الشبكاتGKU 5 · عدد الأقسام: 10