بخشی از پاورپوینت
--- پاورپوینت شامل تصاویر میباشد ----
اسلاید 1 :
زمانبندی CPU
زمانبندی CPU، اساس سیستم های عامل چندبرنامه ای است. با حرکت CPU بین فرایندها، سیستم عامل می تواند بهره وری کامپیوتر را افزایش دهد.
مفاهیم اساسی زمانبندی :
هدف چندبرنامه ای این است که همیشه چندین فرایند در حال اجرا باشند تا بهره وری CPUبیشینه شود. اگر فرایندهای بیشتری وجود داشتند، بقیه منتظر می مانند تا CPU آزاد شود و بتواند دوباره زمانبندی شود.
ایده چندبرنامه ای ساده است. هر فرایند به اجرایش ادامه می دهد تا برای یک عمل I/O در انتظار بماند.
در یک سیستم کامپیوتری ساده، در این مدت CPU باید بیکار بماند. بنابراین، تمام این زمان های انتظار هدر می روند، یعنی کار مفیدی انجام نمی شوند. در چندبرنامه ای، سعی می شود که از این زمان ها به نحو احسن استفاده شود.
اسلاید 2 :
چرخه انفجار CPU-I/O
موفقیت زمانبندی CPU به این خاصیت فرایندها بستگی دارد که اجرای فرایند شامل چرخه ای از اجرای CPU و انتظار I/O است.
اجرای فرایند با انفجار CPU شروع می شود. به دنبال آن یک انفجار I/O قرار دارد و به همین ترتیب ادامه می یابد. سرانجام، آخرین انفجار CPU با درخواست سیستم برای خاتمه اجرا، پایان می پذیرد.
مدت این انفجارهای CPU اندازه گیری شده اند و این مدت ها از فرایندی به فرایند دیگر و از کامپیوتری به کامپیوتر دیگر فرق می کند.
اسلاید 3 :
دنباله ای از انفجارهای CPU و I/O
اسلاید 4 :
چرخه انفجار CPU-I/Oزمان های انفجار CPU
برنامه مقید به I/O معمولا دارای چند انفجار کوچک CPU است. برنامه مقید به CPU معمولا چند انفجار بلند CPU دارد. این توزیع می تواند در انتخاب الگوریتم زمانبندی CPU مهم باشد.
اسلاید 5 :
زمانبندی CPU
هروقت CPU بیکار می شود، سیستم عامل باید یکی از فرایندهای موجود در صف آمادگی را برای اجرا انتخاب کند. این انتخاب توسط زمانبند کوتاه مدت (یا زمانبند CPU) انجام می گیرد. زمانبند، فرایندی را از بین فرایندهای موجود در حافظه که آمادگی اجرا دارند انتخاب می کند و CPU را به ان تخصیص می دهد.
از نظر مفهومی، تمام فرایندهای موجود در صف آمادگی، منتظر به دست آوردن CPU هستند تا اجرا شوند.
اسلاید 6 :
زمانبندی با قبضه کردن
تصمیمات زمانبندی CPU ممکن است تحت چهار شرط زیر اتخاذ شوند:
üوقتی که فرایندی از حالت اجرا به حالت انتظار می رود (مثل در خواست I/O، یا فراخوانی انتظار برای خاتمه یکی از فرایندهای فرزند).
üوقتی فرایندی از حالت اجرا به حالت آمادگی می رود (مثل وقتی که رویدادی رخ می دهد).
üوقتی که فرایندی از حالت انتظار به حالت آمادگی می رود (مثل تکمیل I/O).
üوقتی که فرایندی خاتمه می یابد.
برای شرایط 1و 4، انتخابی بر حسب زمانبندی وجود ندارد اما برای شرایط 2و 3 امکان انتخاب وجود دارد. وقتی زمانبندی تحت شرایط 1و 4 انجام می گیرد، الگوی زمانبندی را بدون قبضه کردن می نامیم. و در غیر اینصورت، آنرا قبضه کردن می نامیم.
در زمانبندی بدون قبضه کردن وقتی CPU به فرایندی تخصیص یافت، آنقدر آنرا نگه می دارد تا اینکه خاتمه یابد یا به حالت انتظار برود. متاسفانه زمانبندی با قبضه کردن هزینه دارد. زمانبندی با قبضه کردن در طراحی هسته سیستم عامل موثر است.
اسلاید 7 :
توزیع کننده
توزیع کننده در زمانبندی CPU دخالت دارد. توزیع کننده پیمانه ای است که کنترل را به پردازنده ای می دهد که توسط زمانبند کوتاه مدت انتخاب شده است. این عمل شامل موارد زیر است:
ü
üتعویض بستر
üتغییر به حالت کاربر
üپرش به محل مناسبی در برنامه کاربر و آغاز مجدد آن برنامه
üتوزیع کننده باید سرعت بالایی داشته باشد.
اسلاید 8 :
معیارهای زمانبندی
معیارهای متعددی برای مقایسه الگوریتم های زمانبندی پیشنهاد شده اند. معیارهای مورد استفاده عبارتند از:
üبهره وری CPU: می خواهیم تا آنجا یی که ممکن است CPUمشغول باشد.
üتوان عملیاتی (حاصل کار): اگر CPU مشغول اجرای فرایندها باشد، کاری درحال انجام است. یک معیار کار، تعداد فرایندهایی است که در واحد زمان کامل می شوند و توان عملیاتی نام دارد.
üزمان برگشت: فاصله زمانی از زمان تحویل فرایند تا زمان کامل شدن اجرای آن، زمان برگشت نام دارد. زمان برگشت مجموع زمان انتظار برای قرار گرفتن در حافظه، زمان قرار گرفتن در صف آمادگی، اجرا در CPU و عمل I/O است.
üزمان انتظار: معیار دیگر زمان تحویل یک درخواست و دریافت اولین پاسخ است. این معیار، زمان انتظار نام دارد. زمان انتظار، مدت زمان لازم برای شروع پاسخ است و شامل زمان خروجی پاسخ نمی شود.
üزمان پاسخ: معیار دیگر، زمان تحویل یک درخواست تا دریافت اولین پاسخ است. این معیار که زمان پاسخ نام دارد، مدت زمانی است که مدت زمانی است که طول می کشد پاسخ داده شود، نه مدت زمانی که طول می کشد تا آن پاسخ چاپ شود.
اسلاید 9 :
الگوریتم های زمانبندی
زمانبندی ارائه خدمت به ترتیب ورود(FCFS):
در این الگوریتم، فرایندی که زودتر CPU را درخواست کرد، زودتر آنرا در اختیار می گیرد. پیاده سازی سیاست FCFS با یک صف FIFO انجام می شود. مجموعه فرایندهای زیر را در نظر بگیرید:
اگر فرایندها به ترتیب p3,p2,p1 بیایند و به ترتیب FCFS خدمات بگیرند،نمودار به صورت زیر است:
زمان انتظار برای P1 برابر صفر، برای P2 برابر 24 و برای P3 برابر با 27 است. بنابراین، زمان انتظار میانگین برابر (0+24+27)/3=17 است.
میانگین زمان انتظار تحت سیاست FCFS کمینه نیست و ممکن است با تغییرات زیادی که در انفجار CPU انجام می شود، تغییر کند.
اسلاید 10 :
زمانبندی بر حسب کوتاهترین کار (SJF):
این الگوریتم به هر فرایند، طول انفجار CPU بعدی اش را می دهد. وقتی CPU مهیا باشد، به فرایندی نسبت داده می شود که انفجار CPU بعدی کوچکتری داشته باشد. اگر طول انفجار CPU بعدی دو فرایند یکسان باشد، برای انتخاب یکی از آنها، از زمانبندی FCFS استفاده می شود. زمانبندی در این الگوریتم با بررسی طول انجار CPU بعدی فرایند انجام می شود (نه طول کلی آن). به عنوان مثال فرایندهای زیر را در نظر بگیرید:
با استفاده از زمانبندی SJF، این فرایندها بر اساس نمودار زیر زمانبندی می شوند:
زمان انتظار برای فرایند P1 برابر با 3، برای P2 برابر با 16، برای P3 برابر با 9 و برای P4 برابر با 0 است. بنابراین میانگین زمان انتظار برابر با (3+16+9+0)/4=7 است.
اگر از الگوی زمانبندی FCFS استفاده می کردیم، میانگین زمان انتظار برابر با 10.25 می شد.