os3h

 

Scheduling Algorithms  خوارزميات الجدوله

Page history last edited by Anonymous 1 yr ago

 

 

أولاً:

 

First-come First-served (FCFS) (FIFO)

 

 

 

 

(من يأتي أولا يخدم أولا):

 

 

 

 

 

 

 

وفلسفة هذه الطريقة تعتمد على من يصل أولا من العمليات هو من يدخل أولا إلى وحدة

 

المعالجة المركزية cpu

 

 

 

 

 

 

 

 

وهي تعتبر Non-preemptive)) اى أن هذه العملية لا تخرج من وحده المعالجة

 

 

المركزية إلا بعد انتهائها من التنفيذ ولا يتدخل لب النظام (kernel) في اجهاض العملية .

 

 

 

 

 

 

ومشكلة هذه الخاصية :

 

 

عند دخول عملية تحتاج إلى وقت طويل في التنفيذ فان وحدة المعالجة المركزية تستنفذ

 

 

جميع وقتها في تنفيذ هذه العملية ولا يكون هناك مجال للعمليات ذات الوقت القصير

 

   

 

 فان هذه الخاصية ذات ميزه بسيطة.

 

 

 

          مثال على هذه الطريقة:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ثانياً: 

 

Shortest-Job-First (SJR) (العمليات ذات الوقت القصير أولا):

 

 

 

تأتي كل عملية مصاحبة للوقت الذي تحتاجه للتنفيذ ويتم اختيار العملية ذات الوقت القصير.

 

 

 

وينقسم إلى قسمان:

 

Nonpreemptive :

 

يتم اختيار العملية ذات الوقت الاقصر من مصفوفة الانتظار و لا تخرج من وحده المعالجة المركزية إلا

 

 

 

بعد انتهاء وقت تنفيذها.

 

 

Preemptive:

 

 اى انه عند وصول عملية جديدة ووقت تنفيذها اقصر من الوقت المتبقي لتنفيذ العملية الحالية فيتم

 

إجهاض العملية الحالية وإدخال العملية الجديدة إلى وحدة المعالجة المركزية.

 

 

- تعتبر هذه الطريقة الأمثل لأنه يعطي اقل قيمة لمتوسط وقت الانتظار لمجموعة من

 

العمليات ولكن لا يعطي تقديرات دقيقة للوقت الذي تتنفذ فيه العملية .

 

 

 

كيف يتنبأ بوقت العملية قبل حدوثها؟

 

 

يحاول الجدول الزمني التنبؤ بوقت تنفيذ العملية استنادا إلى تاريخ تنفيذ العملية السابق وإذا كانت العملية جديدة فيسجل أول وقت لها في التنفيذ .

 

 

 

 

ويستخدم هذه المعادلة لتحديد زمن تنفيذ العملية:

 

          t( n+1 )      =       w * t( n )         + ( 1 - w )  * T( n )

 

 

حيث: 

t(n+1)   - وقت العملية القادم.

 

 

   t(n)    - وقت العملية الحالي.

 

 

T(n)     - متوسط وقت العمليات السابقة.

 

 

W         -  وقت الانتظار وغالبا ما تتراوح قيمته بين 0 <= w <= 1 .

 

 

أولوية الجدولة:

 

 

الأولوية هي عدد صحيح يرتبط مع كل عملية وإذا كان العدد مرتفع فان الاولويه تكون

 

منخفضة والعكس صحيح .

 

 

الأعداد الصغيرة تكون مرتفعة الاولويه في اليونيكس ولكن منخفظه في الجافا .

 

 

 

ولكن هناك مشكلة :

 

 

وهي إن العمليات ذات الأولوية المنخفظه لا تنفذ أبدا .

 

 

 

والحل:

 

 

 

إن العمليات كلما زاد وقتها في الانتظار كلما زادت أولويتها حتى لا تهمل مع الوقت ولا يتم تنفيذها.

 

 

 

مثال على هذه الطريقة:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ثالثاً:

 

Round Robin (RR) جولة روبن:

 

 

هذه الخاصية تعطي لكل عملية وقت محدد من الزمن للتنفيذ داخل وحده المعالجة

 

المركزية(cpu)  

 

 

 

ويسمى هذا الوقت (time quantum),

 

 

ويتراوح بين 10-100 milliseconds  وبعد انتهاء هذا الوقت تجهض العملية وتدخل

 

في نهاية مصفوفة الانتظار .

 

مصفوفة الانتظار .

 

 

إذا كان هناك عدد من العمليات في مصفوفة الانتظار والوقت المحدد (time quantum), هو q  فان

 

كل عملية تأخذ 1\عدد العمليات

 

 

- لا يوجد عملية تأخذ أكثر من متوسط الوقت (1 - عدد العمليات) * الوقت المحدد.

 

 

*هذه الخاصية تشبه (FCFS) ولكن تختلف عنها إن هناك وقت محدد لتنفيذ العملية داخل

 

وحدة المعالجة المركزية (cpu)  .

 

 

 

ملاحظه :

 إذا كانت قيمة وقت تنفيذ العملية اقل من الوقت المحدد فانه يأخذ وقت العملية.

 

 

*في حالة إذا ضاعفنا الوقت المحدد (time quantum) فإننا سنصل إلى (FCFS)

 

 

وإذا قللنا الوقت المحدد (time quantum) فسيضيع وقت وحده المعالجة المركزية في

 

التحويل ((context switch

 

 

 

 

 مثال على هذه الطريقة:

 

  

 

 

 

 

 

 

 

 

 أمثله بالرســـــــــــــــــومات:-

 

 

 

 

 

 

 

 

 

 

 

 

المرجع:Operating System Concept ,book

كتبته :  فاطمه الفرج

 

 

 :  تنسيق الخط

 اشواق الاسمري

 

 

تنسيق وإضافة ملفات المشاركة بواسطة: صفا البلاع

اضافه رسومات الأمثله سماح المطلق

Comments (6)

Hend said

at 10:08 pm on Nov 18, 2007

Good work, however, try to work out the format (text size- font colors, etc) to look more appealing to the eye!

فاطمه الفرج said

at 9:44 pm on Nov 27, 2007

مشكوره جدا عالامثله بصراحه ابدعتي وباسلوب جدا سهل ومبسط سلمت يمناك وننتظر المزيد من مشاركاتك وبالتوفيق

Reem ALRashidi said

at 12:14 pm on Nov 30, 2007

شرح جميل وطرح رائع وامثلة واضحة

فاطمة, صفا
كل الشكر لكما :)

ashwag ALasmari said

at 9:00 am on Dec 5, 2007

رائع جدا
في اسلوب مبسط جزاك الله خير

lamya aljasser said

at 7:05 pm on Dec 9, 2007

شكرا لك اخت فاطمه واختي صفا...ابداع بحق

وخصوصا الاضافات المرفقه

والى الامام

Hend said

at 8:30 pm on Dec 18, 2007

There is a problem in one of the slides, please fix it!

You don't have permission to comment on this page.