زمان بندی پروسسها Process Scheduling
Scheduler (زمانبند) : بخشی از سیستم عامل است که تصمیم می گیرد از بین پروسسهای آماده اجرا CPU به کدام یک داده شود . برا ی این تصمیم گیری از الگوریتمی استفاده می شود که الگوریتم زمان بندی (ُScheduling Algorithm) نامیده می شود .
ملاکهایی که یک الگوریتم زمانبندی خوب باید دارا باشد عبارت است از :
1- عدالت ((Fairness : هر پروسس سهم عادلانه ای از CPU را دریافت نماید .
2- کارایی (ٍٍٍٍEfficiency) : CPU بیکار نماند و وقتی پروسس امکان جلو رفتن ندارد CPU به پروسس دیگری داده شود .
3- زمان پاسخ (Response Time) : زمان پاسخ ، زمان پاسخ به فرمانهای Interactive کاربر است .
4- حداقل بودن زمان بازگشت (Turnaround Time) : زمان بازگشت برای یک کار Batch طول زمان از لحظه ورود آن به سیستم تا لحظه پایان یافتن (کامل شدن) آن می باشد .
5- حداکثر شدن Throughput: تعداد کارهایی است که در واحد زمان انجام می شود .
زمانبندی Round Robin :
یکی از رایج ترین و ساده ترین الگوریتمهای زمانبندی است . پیاده سازی آن بسیار ساده است . کافی است یک لیستی از پروسسهای آماده اجرا نگهداری شود .
به هر پروسس یک Quantum (کوانتم) یا Time-slice (برش زمانی) CPU داده می شود . اگر پروسس در پایان کوانتم هنوز خاتمه نیافته باشد ، CPU از آن گرفته می شود و به پروسس بعدی در صف داده می شود .
اندازه Quantum چقدر باشد ؟
فرض کنید Context switch ، 5 میلی ثانیه طول بکشد .
اگر طول کوانتم 20 میلی ثانیه باشد
20% = (20 + 5) / 5 = میزان اتلاف
اگر طول کوانتم را 500 میلی ثانیه در نظر بگیریم
1% > 505/5 =( 5 + 500 )/ 5 = میزان اتلاف
اغلب کوانتم برابر 100 میلی ثانیه را مناسب می دانند .
کامپیوتر