سورس کد الگوریتم زمانبندی SJF در ++C

الگوریتم زمانبندی SJF  یکی از الگوریتم های زمانبندی در سیستم عامل می باشد.  در الگوریتم زمانبندی SJF  (Shortest Job First) که روشی انحصاری است CPU به پردازش داده می شود که کوچکترین انفجار محاسباتی بعدی را دارد. البته اصطلاح مناسبتر ،«کوچکترین انفجار محاسباتی بعدی» می باشد. زیرا این زمانبندی بر اساس طول مدت انفجار CPU بعدی عمل می کند و نه بر اساس طول کل پردازش . اگر دو پردازش مدت انفجار محاسباتی یکسانی داشته باشند بر اساس FCFS زمانبندی می شوند . این الگوریتم می تواند انحصاری و غیر انحصاری باشد.

الگوریتم زمانبندی SJF مخصوصاَ برای کارهای دسته ای که از قبل زمان اجرای آن کارها، مشخص و معین باشد به کار می رود. مهمترین مشکل در SJF آگاهی از طول درخواست بعدی CPU می باشد. هیچ راهی که طول انفجار محاسباتی بعدی را برای ما مشخص سازد وجود ندارد. لذا در صورت لزوم مجبوریم آن را پیش بینی کنیم . یعنی انتظار داشته باشیم که طول انفجار بعدی خیلی شبیه طول انفجار های قبلی باشد. یکی از این تکنیک های تخمین زدن، تکنیک رشد سالمندی (Aging) است.

مشکل دیگر استفاده از الگوریتم زمانبندی SJFامکان گرسنگی یا قحطی زدگی (Starvation) فرایند های طولانی در صورت ورود دائم فرایند های کوچکتر است. چرا که در این صورت مرتباَ پردازش های کوتاه اجراء شده و نوبت به فرایند های طولانی نمی رسد.

 

معیار های زمانبندی

قبل از پرداختن به الگوریتم های زمانبندی لازم است معیار های انتخاب و مقایسه این الگوریتم ها مشخص گردد. این معیار ها می توانند موارد زیر باشند :
1- عدالت (Fairness) یعنی اطمینان از اینکه هر پروسس سهم عادلانه و منصفانه ای از cpu را دریافت کند.

2- کارایی یا بهره وری ( utilization-Efficiency)cpu یعنی اینکه cpu در تمام زمان ها (حتی الامکان) مشغول باشد.

3- زمان پاسخ(Response Time ) یعنی به حداقل رساندن زمان پاسخ برای فرمانهای محاوره ای کاربر. این زمان معمولاَ با سرعت ابزار خروجی محدود می شود.

4- زمان برگشت (یا گردش کار Turn around ) یعنی به حداقل رساندن زمانی که کاربران دسته ای باید منتظر بمانند تا خروجی آنها پدید آید. فاصله زمانی از لحظه تحویل کار تا تکمیل کار را زمان برگشت می نامند ولی زمان پاسخ مدت زمانی است که از صدور یک تقاضا تا تولید اولین پاسخ آن طول می کشد(نه زمان خروجی کل برنامه). زمان بارگذاری در حافظه+زمان عملیات I/O +زمان اجراء+زمان انتظار در صف آماده=زمان گردش کار

5- توان عملیاتی یا گذردهی(through put ) به تعداد پردازش هایی که در واحد زمان تکمیل می شوند توان عملیاتی می گویند. الگوریتم زمانبندی باید به گونه ای باشد که این معیار را افزایش دهد.

6- زمان انتظار (waiting time ) الگوریتم زمانبندی cpu ، بر میزان زمان اجرای پردازش یا اعمال I/O اثر نمی کند ، بلکه فقط در زمان صرف شده جهت انتظار در صف آماده اثر می گذارد. زمان انتظار ، مجموع پریود های زمانی صرف شده در صف آماده می باشد. البته ممکن است تعدادی از اهداف فوق با هم در تضاد باشند.

 

سورس الگوریتم SJF در سی پلاس پلاس

 

این تکه کد مربوط به تابع main یا اصلی برنامه می باشد. برای دریافت سورس کد کامل محصول را خریداری فرمایید.

 

ویدئوی معرفی محصول

 

درباره محصول

سورس کد الگوریتم SJF به زبان ++C با استفاده از Borland ++C نوشته شده است. این کد بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید. بمحض خرید محصول لینک دانلود در دسترس خواهد بود.

12,000 تومان

1 دیدگاه برای سورس کد الگوریتم زمانبندی SJF در ++C

  1. امتیاز 5 از 5

    programstore

    نظرات و دیدگاه های خود را با ما درمیان بگذارید.

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

اطلاعات فروشنده