MultiLevel queue
تقوم هذه الخوارزمية بتقسيم الـ ready queue إلى عدة queues مختلفة , ويتم اسناد المهمة إلى الـ queue المناسبة بناء على عدة معاير منها:
- حجم الذاكرة
- أولوية هذه المهمة
- نوع المهمة
ويكون لكل queue خوارزمية يتبعها لجدولة المهام المسندة إليه.
وفي حالة اسناد المهمة الى queue معينة لا تستطيع
المهمة التحول إلى queue أخر من الـ ready queues ( بخلاف الـ multilevel feedback )
أما خوارزمية الجدولة بين هذه الـ queues ( لاحظي بين الـqueues وليس المهمات في داخل كل queue ) فتتبع أحدى الطريقتين التاليتين:
1- الأولوية الثابته: بحيث أنه يسند لكل queue أولوية ثابته فيبدأ بتنفيذ العمليات التابعة للـ queue صاحب الأولوية الأعلى وإذا انتهى من جميع عملياتها ينتقل إلى الـ queue الذي يليه بالأولوية وهكذا دواليك..
ولكن هذه الطريقة تسبب مجاعة أي أن العمليات التابعة للـ queue صاحب الاولوية الدنيا تتأخر كثيرا بالتنفيذ حيث تتنظر الى ان تنتهي جمع العمليات التابعة للـ queues الأعلى أولوية
2- طريقة الـ time slice : حيث يحدد مقدار ثابت (مثلا 5 ثوان) فتعطى الـqueue الأولى هذا المقدار من وقت المعالج ثم ينتقل إالى الـ queue التي تليها وتعطى هذا المقدار المحدد وهكذا دواليك..
أي أن وقت المعالج يقسم بين هذه الـ queues
صفا البلاع
المصادر
Operating system concept
http://cs.wwc.edu/~aabyan/352/Scheduling.html
Comments (1)
Anonymous said
at 8:00 pm on Dec 16, 2007
شكرا لك على موضوعك
You don't have permission to comment on this page.