محاضرة نظم التشغيل السادسة PDF
Document Details
Uploaded by PeaceableEinstein7368
Tags
Summary
هذه المحاضرة عن نظم التشغيل تُناقش جدولة المهام المختلفة وخوارزميات الجدولة، مع أمثلة توضيحية. تتضمن المصطلحات الرئيسية مثل زمن المعالجة ووقت الإنتظار.ملخص للمحاضرة السادسة حول نظم التشغيل.
Full Transcript
نظم التشغيل المحاضرة السادسة محتويات المحاضرة السابقة: مفهوم المهمة. حاالت المهمة. كتلة تحكم المهمات. محتويات المحاضرة السادسة: جدولة المهام خوارزميات الجدولة وانواعها امثلة للخوارزميات ...
نظم التشغيل المحاضرة السادسة محتويات المحاضرة السابقة: مفهوم المهمة. حاالت المهمة. كتلة تحكم المهمات. محتويات المحاضرة السادسة: جدولة المهام خوارزميات الجدولة وانواعها امثلة للخوارزميات جدولة المهام Process Scheduling ان البرمجة المتعددة تستخدم لزيادة كفاءة النظام عندما تكون هنالك مهمة قد توقفت عن التنفيذ فى إنتظار متطلبات إدخال/إخراج .فتدخل مهمة اخرى بدال عنها للتنفيذ . السؤال :كيف يتم إختيار هذه المهمة من مجموعة مهمات اخرى؟ االجابة :سياسة الجدولة هى التى تحل هذا اإلشكال مع مراعاة عدة مقاييس ومن هذه المقاييس شائعة االستخدام : .1إستخدام المعالج :وهو الزمن الفعلى إلستخدام المعالج جدولة المهام Process Scheduling .2الطاقة اإلنتاجية :هى عدد المهمات التى يمكن للنظام تنفيذها فى فترة زمنية محددة (اى معدل المهام التى انجزت). .3الزمن الكلى :وهو الزمن أو الفترة الزمنية الذى تقضيه المهمة فى النظام منذ انشائها وحتى نهاية تنفيذها وهو يتناسب عكسيًا مع اإلنتاجية. .4زمن اإلستجابة :هو الزمن المستغرق بين استالم الطلب وحتى ظهور النتائج . .5زمن اإلنتظار :هو متوسط الفترة الزمنية التى تقضيها المهمة فى اإلنتظار . خوارزميات الجدولة هى خوارزميات تكتب لتوضيح كيفية دخول المهمات الى وحدة المعالجة المركزية وعادة ماتستخدم العالقات الرياضية لتحديد زمن الدخول وزمن المعالجة.وهنالك بعض CPU utilization جعل المعالج مشغوال قدر اإلمكان المصطلحات التى تستخدمها مثل : Throughput عدد المهمات التى يكتمل تنفيذها لكل وحدة زمنية Turnaround Time كمية الوقت االزم لتنفيذ مهمة معينة Time waiting كمية الوقت التى تظل فيها المهمة فى وقت االستعداد الى ان يتم تنفيذها Burst Time هو الوقت الذى يستغرقه المعالج لالنتهاء من المهمة خوارزميات الجدولة خوارزمية القادم أوًال يخدم أوًالFCFS: First Come First(. .1 )Served خوارزمية العمل األقصر أوًال )SJF: Shortest Job First(. .2 الخوارزمية الدورانية )RR: Round Robin(. .3 خوارزمية األفضلية )Priority(. .4 ملحوظة :كل هذه الخوارزميات تستخدم مخطط للرسم لتوضيح جدولة العمليات يسمى مخطط الـ. Gantt خوارزمية القادم أوًال يخدم أوًال ()FCFS: First Come First Served تعتمد على فكرة المهمة التى تصل اوال تنفذ اوال وتسمى ايضا ( )first in first outحيث يكون هنالك صف للمهمات الجاهزة للتنفيذ . عندما ينتهى المعالج من تنفيذ مهمة فيتم حذفها ،ثم اختيار المهمة التالية من صف االنتظار حيث يتم اختيارها من اول الصف والتى يمكن ان تكون استغرقت اطول وقت إنتظار . ميزة الخوارزمية انها تقوم بتنفيذ العمليات او المهام بالترتيب فى حالة المهام الصغيرة ،ولكن عيبها عندما مثال (:)1 اذا كان لدينا مهمات وصلت بالترتيب فى صف اإلنتظار كما فى الجدول ونريد تنفيذها حسب خوارزميات القادم اوال يخدم اوال احسب االتى : متوسط زمن االنتظار( )waiting time .1 متوسط زمن االكتمال()completion time .2 متوسط زمن االنتظار اذا كان ترتيب الوصول عكسى كالتالى .3 ( p3ثم p2ثم )p1ثم وضح الفرق بين المتوسطين. الحل : مواصلة حل...مثال ()1 3 2 المقارنة :نالحظ ان وقت االنتظار قل كثيرا عن السابق بمعنى اذا كانت هنالك مهمة تحتاج لوقت طويل ثم جاءت بعدها اخرى تحتاج لوقت قصير فإنها تضطر الى االنتظار اال ان ينتهى المعالج. خوارزمية العمل األقصر أوًال )SJF: Shortest Job First(. تعتمد على فكرة ان يتم اختيار المهمة التى تحتاج لزمن تنفيذ اقصر (اى الزمن المقدر إلنجازها اقل مقارنة ببقية المهمات الموجودة فى صف اإلنتظار). ميزة هذه الطريقة أنها تعطى أفضلية للمهمات الصغيرة على حساب المهمات الكبيرة ،وعيبها تظهر (مشكلة المجاعة : )Starvationوهى تعنى أن هنالك مهمة قد التنفذ إطالقًا . تنقسم هذه الخوارزمية الى نوعين : غير قابلة للتوقف (. )non preemptive .1 قابلة للتوقف (. )preemptive .2 النوع االول :غير قابلة للتوقف (non )preemptive فى هذا النوع عند قدوم عدد من المهمات التى التأخذ وقتا طويًال اى اقل وقت ،ولكن عند قدوم مهمة جديدة وكان الوقت الالزم لمعالجتها اقل من التى مع المعالج فإنه يتم تجاهلها ويكمل المعالج عمله الى ان ينتهى . النوع الثانى :قابلة للتوقف ()preemptive نفس الطريقة السابقة ولكن الفرق هو عند قدوم مهمة ما وكان الوقت الالزم لمعالجتها اقل من التى فى المعالج فإن مثال (:)2 اذا كان لدينا 4مهمات قادمات للمعالج ،مستخدما خوارزمية العمل االقصر اوال. ارسم مخطط Ganttليوضح كيفية تنفيذها اذا كان يعمل .1 بإستخدام النوع غير قابل للتوقف . زمن المعالجة الوصول طريقة . زمن االنتظار لكل المهمة متوسط زمن احسب .2 7 0 p1 4 2 p2 1 4 p3 4 5 p4 الحل : اوال :باستخدام النوع غير القابلة للتوقف المخطط Gantt متوسط زمن االنتظار ملى ثانية )0+6+3+7(/4 =4 الخوارزمية الدورانية ()RR: Round Robin تستخدم مفهوم المشاركة الزمنية حيث تعمل بمبدأ ، FIFOحيث تعطى لكل مهمة فترة زمنية معينة ()quantumفإذا لم يتم إنجازها فى هذه الفترة فإنه يتم ايقافها ليبدأ فى تنفيذ المهمة التالية لها فى صف اإلنتظار. وتوضع المهمة التى إنجزت فى اخر صف اإلنتظار . عيبها :يجب ان تكون الفترة الزمنية الممنوحة لكل مهمة مناسبة ألنها اذا كانت كبيرة لكل المهمات فإن RR تتحول لـ ، FIFOواذا كانت قصيرة تكثر عمليات التبديل مثال (: )3 اذا كانت لدينا 3مهمات كما فى الجدول التالى ،قم بجدولتهم بإستخدام الخوارزمية الدورانية RRثم: .1أرسم مخطط Gantt .2وضح كيفية تنفيذها اذا كان quantum = 4لكل مهمة .3متوسط زمن االنتظار الحل .المخطط Gantt خوارزمية األفضلية ()Priority هى خوارزمية لمعالجة نقاط الضعف ،حيث تتطلب تخصيص مقدار اولوية لكل مهمة . حيث يتم تنفيذ العملية التى تحتوى على ذات االولوية االعلى (اقل رقم) ،يعنى اذا كان لدينا مهمة باولوية 5 ومهمة اخرى باولوية ، 7فسوف يتم تنفيذ االولوية التى تحتوى على اولوية اقل وهى 5قبل المهمة . 7 مثال (:)4 اذا كانت لدينا 5عمليات داخل المعالج قم بجدولتهم باستخدام االولوية كما فى الجدول التالى : ارسم مخطط Ganttليوضح كيفية تنفيذها .1 احسب متوسط زمن اإلنتظار .2 الحل : .مخطط Gantt .متوسط زمن اإلنتظار ملى ثانية )6+0+16+18+1(/5 =8.2 ?? !THANK S