بخشی از پاورپوینت

--- پاورپوینت شامل تصاویر میباشد ----

اسلاید 1 :

فصل 5: زمانبندی پردازنده (CPU Scheduling)

nBasic Concepts

nScheduling Criteria

nScheduling Algorithms

nThread Scheduling

nMultiple-Processor Scheduling

nOperating Systems Examples

nAlgorithm Evaluation

اسلاید 2 :

اهداف

 آشنایی با زمانبندی پردازنده ها به عنوان پایه اصلی سیستم عامل های چندبرنامگی (multiprogrammed)

 توصیف الگوریتم های مختلف زمانبندی CPU

 بحث در مورد انتخاب یک الگوریتم زمانبندی CPU  مناسب برای  یک سیستم خاص

اسلاید 3 :

مفاهیم پایه ای

حداکثر بهره وری (utilization) از CPU  به کمک چندبرنامگی

nCPU–I/O Burst Cycle – اجرای یک پردازه شامل یک دور از اجراهای CPU و انتظار برای I/O است

در حقیقت ما می خواهیم CPU burst را توزیع و مدیریت کنیم

اسلاید 4 :

زمانبند (Scheduler) CPU

 از میان پردازه های موجود در سیستم یکی را انتخاب می کند و CPU را در اختیار آن قرار دهد

 تصمیمات زمانبند CPU در یکی از حالات زیر اعمال می گردد. وقتی که یک پردازه :

.1از حالت اجرا به حالت انتظار سوئیچ کند (درخواست I/O، دستور wait و ...)

.2از حالت اجرا به حالت آماده سوئیچ کند (وقوع وقفه)

.3از حالت انتظار به حالت آماده سوئیچ کند (اتمام I/O)

.4به اتمام برسد

 به حالتی که زمانبندی در شرایط 1 و 4 اعمال گردد  حالت بدون غیر قابل پس گرفتنی (nonpreemptive) می گویند

 به حالت دیگر پس گرفتنی (preemptive) می گویند

اسلاید 5 :

اعزام کننده (Dispatcher)

 پیمانه اعزام کننده  (Dispatcher module) کنترل CPU را به پردازه ای می دهد که توسط زمانبند کوتاه مدت (short-term scheduler) انتخاب شده است. شامل:

 سوئیچ زمینه (switching context)

 سوئیچ به مد کاربر (switching to user mode)

 مقدار دهی Program Counter به مکان مناسب برای ازسرگیری اجرای برنامه

 تاخیر اعزام (Dispatch latency) – مدت زمانی که یک پردازه متوقف و پردازه بعدی توسط اعزام کننده شروع به اجرا می کند

اسلاید 6 :

 بهره وری پردازنده (CPU utilization) – پردازه را تا حد امکان مشغول نگه داریم

 بازده (Throughput) – تعداد پردازه هایی که در یک واحد زمانی اجرای آنها به اتمام می رسد

 زمان گردش (Turnaround time) – مدت زمان مورد نیاز برای اجرای کامل یک پردازه

 زمان انتظار (Waiting time) – مدت زمانی که یک پردازه در مدت اجرای کامل خود در صف آماده منتظر تخصیص CPU می ماند

 زمان پاسخ (Response time) – مدت زمان که طول می کشد تا از زمان ارسال یک درخواست اولین پاسخ دریافت گردد. (برای سیستم های اشتراک زمانی منظور یک خروجی معین نیست)

اسلاید 7 :

Scheduling Algorithm Optimization Criteria

nMax CPU utilization

nMax throughput

nMin turnaround time

nMin waiting time

nMin response time

اسلاید 8 :

Shortest-Job-First (SJF) Scheduling

nبرای هر پردازه یک عدد  به عنوان زمان اجرای (CPU Burst) بعدی مورد نیاز در نظر گرفته می شود. از این عدد برای زمانبندی پردازه ها استفاده می شود.

nابتدا پردازه های با CPU Burst کمتر اجرا خواهند شد.

nSJF بهینه است – یعنی برای یک مجموعه از پردازه ها کمترین متوسط زمان انتظار را خواهیم داشت

lاما یک مشکل بزرگ داریم: زمان مورد نیاز برای CPU در درخواست بعدی را نمی دانیم

اسلاید 9 :

مشخص نمودن اندازه CPU Burst بعدی

 می توانیم تنها طول اجرا را تخمین بزنیم

 می توانیم با دانستن زمان CPU Burst قبلی  و به کمک میانگیری نمایی (exponential averaging) تخمینی از زمان بعدی داشت

اسلاید 10 :

Examples of Exponential Averaging

na =0

ltn+1 = tn

lفقط همان تخمین اولیه مهم است و زمان آخر واقعی هیچ ارزشی ندارد

na =1

l tn+1 = a tn

lهمان زمان آخر واقعی اجرا برای مرحله بعد در نظر گرفته می شود

nاگر فرمول را بست دهیم به عبارت زیر می رسیم:

tn+1 = a tn+(1 - a)a tn -1 + …

            +(1 - a )j a tn -j + …

            +(1 - a )n +1 t0

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید