المحاضرة الخامسة - نظم التشغيل PDF

Summary

هذه محاضرة عن نظم التشغيل (Operating Systems) تغطي موضوعات مثل إدارة الذاكرة الرئيسية، استراتيجيات تسكين العمليات، الذاكرة الافتراضية، مفهوم المهمة، حالات المهمة، وكتلة تحكم المهمات (Process Control Block). يحتوي النص على أمثلة توضيحية وخطوات تنفيذ البرامج.

Full Transcript

‫نظم التشغيل‬ ‫المحاضرة الخامسة‬ ‫محتويات المحاضرة السابقة‪:‬‬ ‫‪ ‬إدارة الذاكرة الرئيسية‪.‬‬ ‫‪ ‬اساليب ادارة الذاكرة الرئيسية‪.‬‬ ‫‪ ‬استراتيجيات تسكين العمليات‪.‬‬ ‫‪ ‬الذاكرة االفتراضية (الظاهرية)‪.‬‬ ‫محتويات المحاضرة الخامسة‪:‬‬ ‫‪ ‬مفهوم المهمة‪.‬‬...

‫نظم التشغيل‬ ‫المحاضرة الخامسة‬ ‫محتويات المحاضرة السابقة‪:‬‬ ‫‪ ‬إدارة الذاكرة الرئيسية‪.‬‬ ‫‪ ‬اساليب ادارة الذاكرة الرئيسية‪.‬‬ ‫‪ ‬استراتيجيات تسكين العمليات‪.‬‬ ‫‪ ‬الذاكرة االفتراضية (الظاهرية)‪.‬‬ ‫محتويات المحاضرة الخامسة‪:‬‬ ‫‪ ‬مفهوم المهمة‪.‬‬ ‫‪ ‬حاالت المهمة‪.‬‬ ‫‪ ‬كتلة تحكم المهمات‪.‬‬ ‫مفهوم العملية ‪:‬‬ ‫ البرنامج عندما ننقر عليه نقرا مزدوجا فإننا نطلب من نظام التشغيل تنفيذه ‪ ،‬فيقوم بتحميله من القرص الصلب الى‬ ‫الذاكرة ليبدأ تنفيذه لذا هنا يتغير اسم البرنامج من ملف الى عملية ‪.‬هذه البرامج مثل االوفيس وااللعاب ‪.‬‬ ‫ فكما تم تعريف العملية سابقا فى أنها برنامج تحت التنفيذ ‪.‬‬ ‫ فالبرنامج هو سلسلة من االوامر تعطى للحاسب للقيام بعمل ما ينفذ البرنامج داخل المعالج تسلسليا امر تلو االخر‬ ‫خطوات تنفيذ البرنامج‪:‬‬ ‫‪.1‬تحميل البرنامج فى الذاكرة الرئيسية ‪.‬‬ ‫‪.2‬يتم وضع عنوان بداية البرنامج (عنوان أول امر بالبرنامج) فى مسجل داخل المعالج يسمى عدّ اد البرنامج‪.‬‬ ‫‪.3‬يقوم المعالج بإحضار ذلك األمر من خالل عداد البرنامج ويتم تخزينه لتنفيذه ‪.‬‬ ‫‪.5‬فهم وتنفيذ االمر الذى فى المعالج‪.‬‬ ‫‪.4‬زيادة عداد البرنامج لتنفيذ االمر التالى ‪.‬‬ ‫‪.6‬انتقل الى االمر ‪ 4‬الى ان ينتهى تنفيذ البرنامج‪.‬‬ ‫مثال توضيحى ‪:‬‬ ‫يوضح المفاهيم االساسية التى تحدث عند تنفيذ برنامج او عملية ‪:‬‬ ‫أفترض أن أستاذ مادة دخل القاعة لتدريسها وقام أحد الطالب يطلب من االستاذ شرح السؤال فى تمرين‬ ‫سابق ‪ ،‬وقام اخر يطلب من االستاذ شرح جزئية محددة من المحاضرة السابقة ‪.‬ولكن قرر االستاذ البدء فى‬ ‫المحاضرة وأجل طلبات الطالب الى نهاية المحاضرة‪.‬فشغل جهاز الحاسوب وفتح المادة العلمية‬ ‫وال‪. projector‬لكى نفرق بين المفاهيم‬ ‫هو الشى الذى سوف يعرضه للطالب وهو المادة العلمية‬ ‫البرنامج‬ ‫‪‬‬ ‫هو الذى يعمل على معالجة ايصال فهم المادة العلمية وهو االستاذ‬ ‫المعالج‬ ‫‪‬‬ ‫هى فعالية تتألف من قراءة المادة العلمية واستغالل الموارد‬ ‫المهمة‬ ‫‪‬‬ ‫المقاطعة تحدث عندما يبدأ االستاذ بالشرح وبعد مضى فترة زمنية يطرق طالب باب القاعة للدخول‬ ‫‪‬‬ ‫للمحاضرة‪،‬وبعد نقاش بينهما يسمح له بالدخول ثم يواصل االستاذ محاضرته من مكان الذى توقف منه‪.‬‬ ‫حدد الموارد المتاحة من نظرة نظم تشغيل فى هذا المثال ؟؟ جهاز الحاسوب ‪ ،‬وال‪projector‬‬ ‫حاالت المهمة ‪:‬‬ ‫هنالك كثير من االحداث المتنوعة التى تدعو المهمة لتغير حاالتها الى ان يتم تنفيذها‪ ،‬فيمكن ان‬ ‫تكون فى واحدة من الحاالت الخمسة التالية كما فى الشكل التالى ‪:‬‬ ‫جديد‬ ‫قبول‬ ‫‪Exit‬‬ ‫انتهاء‬ ‫مقاطعة ‪interrupt‬‬ ‫‪New‬‬ ‫‪Terminated‬‬ ‫جاهز‬ ‫تنفيذ‬ ‫‪Ready‬‬ ‫‪Running‬‬ ‫جدولة‬ ‫‪scheduler‬‬ ‫انتظار حدث (دخل‪/‬خرج(‬ ‫حصول حدث (نهاية دخل‪/‬خرج(‬ ‫انتظار‬ ‫‪Waiting‬‬ ‫شكل يوضح حاالت المهمة وطرق االنتقال بينها‬ ‫تتضمن أى مهمة االتى ‪:‬‬ ‫‪.3‬محتويات السجالت‬ ‫‪.2‬عداد البرنامج‬ ‫‪.1‬شفرة البرنامج‬ ‫حاالت المهمة ‪:‬‬ ‫‪.1‬مهمة جديدة (‪: )New Process‬‬ ‫عند انشاء عملية تعرف وتدار برقم غير متكرر يسمى رقم تعريف العمليه ‪.‬واسباب انشائها هى ‪:‬‬ ‫تهيئة النظام ‪ :‬فعند تشغيل اى نظام تشغيل تنشأ العديد من العمليات مثل فتح واجهة سطح المكتب‬ ‫‪‬‬ ‫للمستخدم او اعادة تشغيله من وضع السكون‪.‬‬ ‫بناء على طلب المستخدم ‪:‬مثال عندما ينقر نقر مزدوجا على ايقونة برنامج لفتحه فهذا يعنى طلب من‬ ‫‪‬‬ ‫المستخدم إلنشاء مهمة جديدة‪.‬‬ ‫المهام المحزمة ‪ :‬عندما يضع المستخدمة حزمة من العمليات ويطلب من نظام التشغيل تنفيذها ‪ ،‬فيقوم‬ ‫‪‬‬ ‫بتنفيذ العملية االولى فى الحزمة ‪ ،‬ثم عند اتاحت موارد العملية الثانية سيقوم بانشاءها وتنفيذها وهكذا‬ ‫اال ان ينفذ كل العمليات فى الحزمة ‪.‬مثل فتح جميع حزم االوفيس من وورد وبوربوينت ‪...‬الخ‬ ‫لذا يتطلب انشاء مهمة ‪:‬‬ ‫‪‬‬ ‫‪.3‬ادخالها فى جدول المهمات المعروف للنظام‬ ‫‪.2‬تحديد االولوية للمهمة‬ ‫تسمية المهمة‬ ‫‪.1‬‬ ‫حاالت المهمة ‪:‬‬ ‫‪.2‬مهمة جاهزة او مستعدة )‪: )Ready Process‬‬ ‫فى هذه الحالة يتم تحميلها فى الذاكرة وتصبح جاهزة التنفيذ ‪.‬‬ ‫‪‬‬ ‫لذا تكون جاهزة ومستعدة للعمل لكنها متوقفة مؤقتا للسماح لها بالتشغيل ‪.‬‬ ‫‪‬‬ ‫ويمكن ان تكون هنالك أكثر من مهمة فى وضع االستعداد وتسمى قائمة المهمات المستعدة او‬ ‫‪‬‬ ‫الجاهزة ‪.‬‬ ‫حاالت المهمة ‪:‬‬ ‫‪.3‬مهمة شغالة )‪: )Running Process‬‬ ‫العملية بدأت التنفيذ داخل المعالج (فيتابع مسجل عداد البرنامج تسلسل تنفيذ اوامر العملية) أى إنها‬ ‫تكون قيد التنفيذ فى وحدة المعالجة المركزية (‪ )i‬وقد تنتقل المهمة من هذه الحالة إلى حالة ‪:‬‬ ‫جاهزة ‪ :‬عندما تحدث مقاطعة ‪.‬‬ ‫‪‬‬ ‫إنهاء ‪ :‬عند إنتهاء مهمتها والخروج ‪ exit‬من المعالجة ‪.‬‬ ‫‪‬‬ ‫توقف ‪ :‬عند انتظارها لحدوث حدث خارجى مثل (‪.)input / output‬‬ ‫‪‬‬ ‫حاالت المهمة ‪:‬‬ ‫‪.3‬مهمة متوقفة أو معاقة )‪: )Waiting Process‬‬ ‫تكون المهمة فى هذه الحالة متعطلة وغير قادرة على العمل (بعدما كانت فى حالة التنفيذ) اصبحت فى‬ ‫حالة انتظار لحدوث حدث خارجى يمكنها متابعة التنفيذ وقد يحدث ذلك فى اغلب االحيان الستكمال‬ ‫عملية دخل او خرج ‪ ،‬أو بسبب الحاجة لتشغيل عملية اخرى اكثر اهمية وفى هذه الحالة التحتاج الى‬ ‫المعالج (‪. )i‬فقط تنتقل الى حالة االستعداد‬ ‫حاالت المهمة ‪:‬‬ ‫‪.4‬إنهاء مهمة )‪: ) Terminated Process‬‬ ‫هنالك عدة أسباب تدعو إلنهاء المهمة ولكن معظمها تنتهى ألنها انجزت عملها وبالتالى فى هذه‬ ‫ ‬ ‫الحالة تقوم بتحرير الموارد التى كانت تستخدمها من ذاكرة ومعالج وغيره‪ ،‬ومن هذه االسباب ‪:‬‬ ‫انتهاء طبيعى بعد إنجاز عملها ‪.‬‬ ‫‪‬‬ ‫إنتهاء بسبب خطأ ما أثناء تنفيذ العملية ‪.‬‬ ‫‪‬‬ ‫إنتهاء المهمة بسبب مهمة أخرى‪.‬‬ ‫‪‬‬ ‫هنالك عدد من العمليات يمكن أن تتم على المهمة الواحدة منها ‪:‬‬ ‫ ‬ ‫‪.3‬تعليق عملية‬ ‫‪.2‬تدمير عملية‬ ‫‪.1‬إنشاء مهمة اخرى داخل المهمة االصلية‬ ‫‪.6‬إعاقة مهمة‬ ‫‪.5‬استئناف مهمة‬ ‫‪.4‬تغير أولوية عملية‬ ‫مثال تشبيهى للحاالت التى تمر بها المهمة ‪:‬‬ ‫افترض أن هنالك مكتب ما يقدم خدمات للعمالء ‪.‬اذا كان هنالك موظف واحد بالمكتب (وهذا يشبه الحاسب ذو‬ ‫‪‬‬ ‫المعالج الواحد)‪.‬‬ ‫فإن كل عميل يحضر للمكتب إلنجاز معاملة سيذهب لهذا الموظف فقط ‪.‬ولكن قد يجد قبله عمالء قد حضروا‬ ‫‪‬‬ ‫مسبقا إلنجاز معاملة سيذهب لهذا الموظف‪ ،‬وقد يجد قبله عمالء قد حضروا مسبقا إلنجاز معامالتهم (يجد‬ ‫صف انتظار)‪ ،‬فيضطر ان يقف فى اخر الصف ‪.‬‬ ‫فى هذه الحالة سيكون كل العمالء المنتظرين فى الصف فى حالة جاهزية ‪ ،ready‬وسيكون هنالك عميل‬ ‫‪‬‬ ‫واحد فقط (اول من وصل) يخدم بواسطة موظف المكتب (هذا يعنى أنه فى حالة تنفيذ ‪ ،) running‬وقد‬ ‫تنجز معاملته ويخرج من المكتب وهنا نقول (قد اكتمل عمله ‪.) terminated‬‬ ‫ولكن ماذا يحدث اذا وجد الموظف المسئول أن أوراق العمل غير مكتملة ‪،‬هنا سيوقف الموظف من انجاز‬ ‫‪‬‬ ‫عمله لحين اكتماله (فيكون فى حالة الحجز‪ ،) blocked‬فيضطر للخروج من المكتب إلحضار بقية االوراق‬ ‫الناقصة‪ ،‬وبعد إحضارها يرجع للمكتب إلكمال معاملته (االن تحول من حالة الحجز ‪ blocked‬الى حالة‬ ‫الجاهزية ‪ ،) ready‬وسينتظر دوره مرة أخرى ليسمح له الموظف المسئول بإكمال معاملته (التنفيذ)‪.‬‬ ‫عندما يفرغ الموظف من معاملة العميل الذى أمامه ‪ ،‬سيصبح جاهزاَ إلستقبال عمل جديد (من بداية الصف)‪،‬‬ ‫‪‬‬ ‫هذا العميل الجديد سيتحول االن من الجاهزية الى التنفيذ ‪ ،‬وهكذا يسير النظام ‪.‬‬ ‫كتلة تحكم المهمات (‪: )Process Control Block‬‬ ‫يتم إنشاء كتلة تحكم المهمات ‪ PCB‬لكل مهمة تم انشاؤها وتعتبر وسيلة المتابعة الوحيدة‬ ‫للمهمة من وقت قبولها الى ان يتم تنفيذها وهى عبارة عن سجل اى ان كتلة تحكم المهمات‬ ‫تحوى مسجال واحدا لكل عملية ‪.‬‬ ‫تخزن ‪ PCB‬سجالت سريعة جدا اسرع كثيرا من سرعة عناصر الذاكرة االساسية حتى يتمكن‬ ‫نظام التشغيل من متابعة حاالت التنفيذ ‪ ،‬كما تحتوى على كل البيانات االزمة لنظام التشغيل‬ ‫إلدارة المهمة وهى ‪:‬‬ ‫كتلة تحكم المهمات ‪ :‬التحول السياقى‬ ‫هى التى تستخدم معلومات العمليات عندما تتحول العملية من حالة التنفيذ الى حالة الجاهزية أو الحجز‬ ‫عندما يقوم المعالج بتوقف عملية وتنفيذ عملية اخرى‪ ،‬حيث يتم حفظ معلومات العملية التى تم توقيفها‬ ‫مثال العملية (‪ )P0‬فى ‪ ،PCB0‬ثم يتم تحميل معلومات العملية المراد تنفيذها (مثال ‪ )P1‬من‪PCB1‬‬ ‫اذا أراد نظام التشغيل تنفيذ ‪ P0‬من ‪PCB0‬فسيقوم بتخزين معلومات ‪ P1‬فى ‪ PCB1‬ثم تحميل‬ ‫معلومات ‪ PCB0‬حيث يستطيع مواصلة التنفيذ من اخر نقطة وقفت فيها العملية ‪.P0‬‬ ?? !THANKS

Use Quizgecko on...
Browser
Browser