إدارة موارد نظام التشغيل والعمليات
| English | العربية |
|---|---|
| process/ˈprəʊses/ | عملية |
| scheduler/ˈʃedjʊlə/ | المجدول |
| multi-tasking/ˈmʌlti ˈtæskɪŋ/ | متعدد المهام |
| spooling/ˈspuːlɪŋ/ | التجميع المؤقت |
| caching/ˈkæʃɪŋ/ | الكاش |
| round robin/raʊnd ˈrɒbɪn/ | دوران دائري |
| context switch/ˈkɒntekst swɪtʃ/ | تبديل السياق |
| process control block/ˈprəʊses kənˈtrəʊl blɒk/ | كتلة التحكم في العملية |
لماذا لا يزال الماوس يتحرك بينما everything has frozen
- برنامج قفل. لن يتم إعادة رسم النافذة، سيتوقف المؤشر الدوار، لن يستجيب شيء. ومع ذلك لا يزال مؤشر الماوس ينزلق عبر الشاشة تماماً كما كان.
- هذا هو نظام التشغيل يخبرك بشيء: الآلة ليست عالقة، عملية واحدة هي. الموزع لا يزال يوزع شرائح من المعالج، والبرنامج المجمد ببساطة لا يفعل أي شيء مفيد مع شرائحه.
- كل مورد في الآلة مشترك بهذه الطريقة: المعالج بالوقت، الذاكرة بالمساحة، الطابعة بصف الانتظار.
- تتناول هذه الدرس كيف تستخرج نظام التشغيل أقصى استفادة من تلك الموارد، وكيفية إدارته لعملية ما بدءاً من إنشائها وحتى إنهائها.
استخلاص أقصى استفادة من الموارد
- تعدد المهام: يتم تبديل المعالج بسرعة بين العمليات، مما يجعل عدة عمليات تبدو وكأنها تعمل في وقت واحد، رغم أن عملية واحدة فقط تنفذ فعلياً في أي لحظة.
- التقسيم (Paging): يتم نقل الذاكرة بين ذاكرة الوصول العشوائي والقرص الصلب، مما يسمح بفتح برامج أكثر مما تسمح به سعة الذاكرة الفعلية.
- التجميع (Spooling): يتم وضع مخرجات الجهاز البطيء في طابور على القرص، بحيث لا ينتظر المعالج الطابعة. يحافظ التخزين المؤقت (Caching) على البيانات المستخدمة مؤخراً في الذاكرة السريعة حتى لا يضطر لاسترجاعها مرة أخرى.
- يخفي نظام التشغيل كل هذا خلف واجهة مستخدم، إما سطر أوامر أو واجهة رسومية (GUI).
التعدد المتعدد يسمح لعدة برامج بالتشابه في العمل في وقت واحد عن طريق:
يقوم نظام التشغيل بتبديل وحدة المعالجة المركزية الواحدة بسرعة بين العمليات لتبدو وكأنها تتقدم جميعها معًا.
مثال محلول: لماذا يساعد التوزيع المسبق
- اشرح كيف يحسن التجميع استخدام موارد الكمبيوتر. [3]
- الطابعة أبطأ بألاف المرات من المعالج، لذا فإن البرنامج الذي يرسل المخرجات مباشرة سيضطر للانتظار، وسيبقى المعالج بدون عمل.
- مع التجميع، تُكتب المخرجات بسرعة إلى طابور على القرص، ويستمر البرنامج فوراً دون توقف.
- تقوم عملية منفصلة بتغذية الطابعةسرعتها الخاصة، ويمكن لعدة مهام الانتظار في الطابور بينما يستمر المعالج في أداء أعمال أخرى. سمِّ الجهاز البطيء، والطابور، وما يفعله المعالج بدلاً من ذلك.
تقنية Spooling تساعد النظام لأنه:
تعمل تقنية Spooling كوسيط لمهام الطباعة على القرص الصلب حتى لا تتوقف وحدة المعالجة المركزية السريعة بسبب الطابعة البطيئة.
أي التقنيات تساعد نظام التشغيل على الاستفادة القصوى من موارده؟ حدد كل الخيارات الصحيحة.
مشاركة الوقت، وتجميع الطلبات للأجهزة البطيئة، والحفاظ على البيانات الساخنة قريبة. أما إنهاء عمليات الانتظار فسيؤدي إلى فقدان عمل المستخدم، ولا يحسن الاستخدام الكلي.
العمليات ومجدول المهام
- العملية هي برنامج قيد التنفيذ: يتضمن كود البرمجة، وحالته الحالية، وذاكرته، وملفاته المفتوحة. البرنامج الموجود على القرص ليس عملية؛ بل هو عند تشغيله.
- المجدول يحدد أي عملية جاهزة ستُنفذ تالياً ولمدة كم. تهدف أهدافه إلى إبقاء المعالج مشغولاً، والاستجابة السريعة للمستخدمين التفاعليين، وتحقيق العدالة.
- دورة دورية (Round robin) تمنح كل عملية جاهزة شريحة زمنية ثابتة ثم ترسلها إلى نهاية الطابور: بسيط وعادل وسريع الاستجابة. السياسات الأخرى هي الأولوية حسب الوارد أولاً، أقصر مهمة أولاً، وأقصر وقت متبقي.

الحصول على دور الجميع، ولا أحد يحتفظ بالمعالج
يعطي جدولة Round-robin لكل عملية مستعدة شريحة زمنية ثابتة، ثم ينقلها إلى نهاية الطابور — مما يجعلها عادلة وسريعة الاستجابة.
أوقات متساوية بالتناوب تمنع أي عملية واحدة من احتواء وحدة المعالجة المركزية، مما يحافظ على استجابة البرامج التفاعلية.
ما هي العملية (Process)؟
الملف على القرص هو برنامج؛ وبمجرد تحميله وتشغيله، مع حالته الخاصة، يصبح عملية.
حالات العملية
- جديدة: قيد الإنشاء. جاهزة: قادرة على العمل، تنتظر فقط المعالج. جارية: تنفذ حالياً. مقفوفة: تنتظر شيئاً آخر، عادة إدخال أو إخراج. منتهية: اكتملت.
- التحولات هي ما يسأل عنه الامتحان. من جارية إلى جاهزة عند انتهاء الشريحة الزمنية. من جارية إلى مقفوفة عندما تطلب العملية الإدخال/الإخراج. من مقفوفة إلى جاهزة عند اكتمال الإدخال/الإخراج. من جاهزة إلى جارية عندما يختارها المجدول.
- لاحظ عدم التماثل: العملية المقفوفة لا تعود مباشرة إلى الحالة الجارية. بل تعيد الانضمام إلى طابور الجاهز وتنتظر دورها.

خمس حالات، وأسباب كل سهم
طابق كل حالة عملية بما تعنيه.
تدور العملية: استعداد ← تشغيل ← (حظير) ← استعداد، حتى تنتهي.
مثال محلول: تتبع عملية
- عملية جارية تطلب قراءة ملف. صف ما يحدث لها.
- تنتقل من جارية إلى مقفوفة، لأنها لا تستطيع الاستمرار حتى وصول البيانات، ويعطي المجدول المعالج فوراً لعملية جاهزة أخرى بدلاً من الانتظار.
- عند انتهاء القرص، تنتقل العملية من مقفوفة إلى جاهزة. لا تستأنف فورياً؛ بل تنضم إلى طابور الجاهز.
- يختارها المجدول لاحقاً، وتنتقل من جاهزة إلى جارية، وتستأنف من النقطة التي توقفت فيها بالضبط.
دورة حياة العملية
تتبع العملية الحلقة التي تمر بها. لا تعمل إلا عندما يختارها المجدول؛ وطلبها للـ I/O يرسلها إلى حالة الحظر، وانتهاء شريحة زمنية يردّها إلى الاستعداد — دائريًا حتى تنتهي.
تطلب عملية جارية قراءة ملف. رتب ما يحدث لها.
العملية المحظورة لا تعود مباشرة للتشغيل: بل تعيد الانضمام لطابور الاستعداد وتنتظر دورها.
تبديل السياق
- لتغيير العملية الجارية، يقوم نظام التشغيل بحفظ حالة العملية الحالية، وسجلاته، وعدّاد البرنامج، وحالته، في كت التحكم بالعملية، ثم تحميل حالة العملية التالية من كتها الخاص.
- هذا هو تبديل السياق. له تكلفة حقيقية: خلال التبديل، يقوم المعالج بإدارة المهام الإدارية وليس العمل الخاص بالمستخدم.
- لذلك، تمثل الشريحة الزمنية توازناً. إذا كانت طويلة جداً، ستبدو البرامج التفاعلية بطيئة؛ وإذا كانت قصيرة جداً، ستقضي الآلة وقتها في التبديل بدلاً من الحساب.
التبديل السياقي (Context Switch) يتضمن:
يحفظ نظام التشغيل مسجلات/PC للعملية الجارية في كتلتها PCB ويحمل كتلة العملية التالية — وهو عبء بسيط في كل تبديل.
أثناء التبديل السياقي، يتم حفظ مسجلات العملية وعداد البرنامج في ____ الخاص بها.
يتم بعد ذلك تحميل حالة العملية التالية من كتلتها الخاصة. عملية الحفظ والتحميل هي عمل حقيقي، وهو ما يجعل التبديل يستغرق وقتًا.
المقاطعات والنواة
- النواة، وهي جوهر نظام التشغيل، هي التي تنفذ ذلك فعلياً: تستجيب للمقاطعات من الأجهزة ومن البرامج، والمقطع هو ما يعيد السيطرة إلى نظام التشغيل من عملية جارية.
- المقطع الزمني في نهاية الشريحة الزمنية هو ما يجعل الجدولة المسبقة للعمليات ممكنة تماماً؛ وبدونه، سيحتفظ برنامج لا يتنازل أبداً بالمعالج للأبد.
- هذا هو حل اللغز الافتتاحي: البرنامج المتجمد لا يحتفظ بالمعالج لأكثر من شريحته الزمنية، لذا تستمر حركة الماوس.
علامات ضائعة
- العملية هي برنامج قيد التنفيذ، وليست الملف على القرص.
- من مقفوفة إلى جاهزة، ولا تعود مباشرة إلى الجارية. المجدول يختار متى ستعمل مجدداً.
- تبديل السياق يحفظ وي恢复了 الحالة عبر كت التحكم بالعملية، وهو يتكلف وقتاً.
- تعدد المهام يعني أن العمليات تأخذ دورها بسرعة كبيرة لدرجة أنها تبدو متزامنة، وليس أنها تنفذ حقاً في نفس الوقت على نواة واحدة.
لقد فهمت الأمر
- ي maximizes نظام الاستخدام الأمثل للموارد عن طريق تعدد المهام، والتقسيم، والتجميع في طابور قرص والتخزين المؤقت.
- العملية هي برنامج قيد التنفيذ؛ المجدول يختار التالي منها الجاهز، حيث يمنح الدورة الدورية كل منها شريحة زمنية ثابتة.
- الحالات جديدة، جاهزة، جارية، مقفوفة، منتهية: انتهاء الشريحة يرسل الجارية إلى الجاهزة، وطلب الإدخال/الإخراج يرسلها إلى المقفوفة، واكتمال الإدخال/الإرجاع يرسلها إلى الجاهزة.
- تبديل السياق يحفظ وي恢复了 الحالة عبر كت التحكم بالعملية ويتكلف وقتاً، ولهذا السبب يمثل طول الشريحة توازناً.