سورس الگوریتم زمانبندی SRT به زبان سی شارپ
در این بخش سورس الگوریتم زمانبندی SRT به زبان سی شارپ را برای شما آماده کرده ایم که در محیط نرم افزار Visual Studio و زبان برنامه نویسی سی شارپ نوشته شده است. در ادامه می توانید توضیحات، تصاویر و همچنین فیلمی از نحوه کارکرد پروژه را مشاهده کنید.
توضیحات پروژه
در این پروژه بعد از اجرا شدن برنامه پردازش ها را به همراه زمان ورود و زمان انفجار آن ها به لیست پردازش ها اضافه می کنیم. بعد از آن با زدن دکمه اجرا، برنامه اطلاعات را پردازش کرده و نتیجه زمانبندی پردازش ها را در قسمتی از برنامه نمایش می دهد.
الگوریتم زمانبندی SRT
الگوریتم زمانبندی SRT کوتاه شده عبارت Shortest Remaining Time است که مانند الگوریتم زمانبندی SJF اما غیر انحصاری است. در زمانبندی SRT پردازشی که احتیاج به کمترین زمان جهت تکمیل خود دارد در مرحله اول اجرا می شود. موقع انتخاب یک پردازش در واقع کارهایی که تازه به صف آماده وارد می شوند هم در نظر گرفته خواهند شد. در این وضعیت ممکن است وقت CPU از یک پردازش در حال اجرا توسط پردازش جدیدی که نیاز به زمان کمتری برای اجرا و تکمیل شدن دارد گرفته شود.
در زمانبندی SRT هم مانند زمانبندی SJF احتیاج به تخمین زدن آینده داریم و احتمال بروز مشکل گرسنگی در این روش نیز وجود دارد. زمانبندی SRT در مقایسه با زمانبندی SJF زمان کل خوبی را دارد زیرا به پردازش کوتاه نسبت به پردازش بلند در حال اجرا اولویت می دهد. ولی در عوض به خاطر همین پس گرفتن های CPU و مقایسه های زمانی بیشتر، روش SRT از SJF پر هزینه تر است.
در زیر مثالی از الگوریتم زمانبندی SRT داده شده است که مسئله را واضع می کند.
فرض کنید در مرحله اول پردازش p1 در زمان ورود ۰ وارد سیستم می شود تا زمان ۱ به اندازه ۸ دقیقه از آن باقیمانده در زمان ۱ پردازش p2 وارد سیستم می شود اگر زمان پردازش p2 کمتر از پردازش p1 باشد cpu به پردازش p2 داده خواهد شد. به این ترتیب مراحل بعدی را ادامه می دهیم تا دقیقه ۴ که همه پردازش ها وارد سیستم شدند حال زمان باقیمانده همه پردازش ها را بررسی می کنیم و از هر کدام که زمان کمتری باقیمانده در ابتدا آن می تواند cpu را در اختیار بگیرد.
هیچ نظری ثبت نشده است