بخشی از پاورپوینت
--- پاورپوینت شامل تصاویر میباشد ----
اسلاید 1 :
زمان بندی پروسسها Process Scheduling
Scheduler (زمانبند) : بخشی از سیستم عامل است که تصمیم می گیرد از بین پروسسهای آماده اجرا CPU به کدام یک داده شود . برا ی این تصمیم گیری از الگوریتمی استفاده می شود که الگوریتم زمان بندی (ُScheduling Algorithm) نامیده می شود .
ملاکهایی که یک الگوریتم زمانبندی خوب باید دارا باشد عبارت است از :
1- عدالت ((Fairness : هر پروسس سهم عادلانه ای از CPU را دریافت نماید .
2- کارایی (ٍٍٍٍEfficiency) : CPU بیکار نماند و وقتی پروسس امکان جلو رفتن ندارد CPU به پروسس دیگری داده شود .
3- زمان پاسخ (Response Time) : زمان پاسخ ، زمان پاسخ به فرمانهای Interactive کاربر است .
4- حداقل بودن زمان بازگشت (Turnaround Time) : زمان بازگشت برای یک کار Batch طول زمان از لحظه ورود آن به سیستم تا لحظه پایان یافتن (کامل شدن) آن می باشد .
5- حداکثر شدن Throughput: تعداد کارهایی است که در واحد زمان انجام می شود .
اسلاید 2 :
زمانبندی Round Robin :
یکی از رایج ترین و ساده ترین الگوریتمهای زمانبندی است . پیاده سازی آن بسیار ساده است . کافی است یک لیستی از پروسسهای آماده اجرا نگهداری شود .
به هر پروسس یک Quantum (کوانتم) یا Time-slice (برش زمانی) CPU داده می شود . اگر پروسس در پایان کوانتم هنوز خاتمه نیافته باشد ، CPU از آن گرفته می شود و به پروسس بعدی در صف داده می شود .
اندازه Quantum چقدر باشد ؟
فرض کنید Context switch ، 5 میلی ثانیه طول بکشد .
اگر طول کوانتم 20 میلی ثانیه باشد
20% = (20 + 5) / 5 = میزان اتلاف
اگر طول کوانتم را 500 میلی ثانیه در نظر بگیریم
1% > 505/5 =( 5 + 500 )/ 5 = میزان اتلاف
اغلب کوانتم برابر 100 میلی ثانیه را مناسب می دانند .
اسلاید 3 :
زمانبندی اولویت (Priority Scheduling Algorithm) :
در زمانبندی Round Robin همه پروسسها دارای اولویت یکسان بودند .
نیاز به اعمال فاکتورهای خارجی منجر به زمانبندی دارای اولویت می شود .
اسلاید 4 :
اولویت می تواند به صورت ایستا وپویا نسبت داده شود .
مثال : درکامپیوترهای نظامی
مثال : درسایتهای کامپیوتری کارتهای طلایی نقره ای وبرنز و....
اولویتها میتوانند بطور پویا تعیین شوند مثلا به پروسسهای I/O limited اولویت f/ 1 نسبت دهیم که f کسری ازآخرین کوانتم است که پروسس cpu رادر دست داشته .
اگر کوانتم 100میلی ثانیه باشد وپروسس p1 ، 20 میلی ثانیه ا ز cpu استفاده کرده باشد
f = 20/100
5 = f/1= اولویت p1
اگرکوانتم 100میلی ثانیه باشد و پروسسp2 ، 2میلی ثانیه از CPUاستفاده کرده باشد :
f = 2/100
= 1/f =50 اولویت p2
اسلاید 5 :
میتوان از کلاسهای اولویت (priority classes) استفاده کرد :
دراین روش پروسسهادرکلاسهای اولویت قرارداده میشوند . زمانبندی بین کلاسها اولویت داراست ولی زمانبندی درداخل هر کلاس Round Robin است .
اسلاید 6 :
زمانبندی صفحه های چندگانه (multiple queues)
CTSSدارای زمانبندی اولویت دار بود ولی سرعت تعویض پروسس در آن کم بود .
طراحان CTSS متوجه شدند اگر به پروسسهای CPU-Limited به جای اختصاص دادن مکرر کوانتم های کوچک کوانتم های طولانی تر داده شود Throughput سیستم بالاتر می رود .
از کلاسهای اولویت استفاده کردند .
اسلاید 7 :
اگر پروسس از تمامی کوانتم های خود در یک کلاس بطور کامل استفاده کند و هنوز کامل نشده باشد در کلاس پایین تر قرار می گیرد .
در سیستم XDS 940 : ازکلاسهای اولویت مطابق شکل زیر استفاده می شود .
اسلاید 8 :
زمانبندی ابتدا کوتاهترین کار Shortest Job First (SJF) :
این الگوریتم مخصوص کارهای دسته ای (Batch) می باشد.
وقتی چند کار Batch با اولویت یکسان وجود دارد . این الگوریتم می گوید CPU باید به پروسسی داده شود که Turnaround time کوچکتر ی دارد (یعنی آن پروسسی که زودتر خاتمه می یابد.)
اسلاید 9 :
Turnaround Time D : 4 ثانیه
Turnaround Time C : 8 ثانیه
Turnaround Time B:12 ثانیه
Turnaround Time A:20 ثانیه
اسلاید 10 :
آن پروسسی که زمان بازگشت کوتاهتری دارد((Shortest Job) باید ابتدا اجرا شود
(Shortest Job First)