زمانبند کاملاً عادلانه
زمانبند کاملاً عادلانه (به انگلیسی: Completely Fair Scheduler) یک زمانبند پردازه است که در سیستمعامل لینوکس از هسته شماره ۲٫۶٫۲۳ به بعد برای رده زمانبندی SCHED_OTHER مورد استفاده قرار میگیرد.[۱] این زمانبند توسط اینگو مولنار پیادهسازی شدهاست.[۲]
ایده اصلی
[ویرایش]ایده اصلی زمانبند کاملاً عادلانه مدل کردن یک «پردازنده ایدهآل دقیق چندوظیفهای» است. «پردازنده ایدهآل چندوظیفهای» پردازندهای خیالی است که ۱۰۰٪ قدرت فیزیکی خود را صرف اجرای موازی و سرعت یکسان پردازهها میکند. به عنوان مثال اگر دو پردازه داشته باشیم، هر کدام به طور کاملاً موازی از قدرت فیزیکی پردازنده استفاده میکنند.[۲]
با این حال، در سختافزار واقعی هر پردازنده در هر لحظه تنها میتواند یک پردازه را پرازش کند؛ بنابراین، مفهوم «زماناجرای مجازی» مطرح میشود. زماناجرای مجازی هر پردازه برابر با زماناجرای نرمالشده بر اساس سایر پردازههای دیگر است. در سختافزار ایدهآل، زمان اجرای مجازی پردازهها در هر لحظه باید برابر باشد؛ ولی در عمل این امکان وجود ندارد. پس زمانبند کاملاً عادلانه سعی میکند پردازهها را طوری زمانبندی کند که زماناجرای مجازی آنها در هر لحظه تقریباً یکسان باشد.