الگوریتم زمانبندی SJF یکی از الگوریتم های زمانبندی در سیستم عامل می باشد. در الگوریتم زمانبندی SJF (Shortest Job First) که روشی انحصاری است CPU به پردازش داده می شود که کوچکترین انفجار محاسباتی بعدی را دارد. البته اصطلاح مناسبتر ،«کوچکترین انفجار محاسباتی بعدی» می باشد. زیرا این زمانبندی بر اساس طول مدت انفجار CPU بعدی عمل می کند و نه بر اساس طول کل پردازش . اگر دو پردازش مدت انفجار محاسباتی یکسانی داشته باشند بر اساس FCFS زمانبندی می شوند. این الگوریتم می تواند انحصاری و غیر انحصاری باشد.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
الگوریتم زمانبندی SJF
الگوریتم زمانبندی SJF مخصوصاَ برای کارهای دسته ای که از قبل زمان اجرای آن کارها، مشخص و معین باشد به کار می رود. مهمترین مشکل در SJF آگاهی از طول درخواست بعدی CPU می باشد. هیچ راهی که طول انفجار محاسباتی بعدی را برای ما مشخص سازد وجود ندارد. لذا در صورت لزوم مجبوریم آن را پیش بینی کنیم . یعنی انتظار داشته باشیم که طول انفجار بعدی خیلی شبیه طول انفجار های قبلی باشد. یکی از این تکنیک های تخمین زدن، تکنیک رشد سالمندی (Aging) است.
مشکل دیگر استفاده از الگوریتم زمانبندی SJF امکان گرسنگی یا قحطی زدگی (Starvation) فرایند های طولانی در صورت ورود دائم فرایند های کوچکتر است. چرا که در این صورت مرتباَ پردازش های کوتاه اجراء شده و نوبت به فرایند های طولانی نمی رسد.
معیار های زمانبندی
قبل از پرداختن به الگوریتم های زمانبندی لازم است معیار های انتخاب و مقایسه این الگوریتم ها مشخص گردد. این معیار ها می توانند موارد زیر باشند :
- عدالت (Fairness) یعنی اطمینان از اینکه هر پروسس سهم عادلانه و منصفانه ای از cpu را دریافت کند.
- کارایی یا بهره وری (utilization-Efficiency) cpu یعنی اینکه cpu در تمام زمان ها (حتی الامکان) مشغول باشد.
- زمان پاسخ (Response Time) یعنی به حداقل رساندن زمان پاسخ برای فرمانهای محاوره ای کاربر. این زمان معمولاَ با سرعت ابزار خروجی محدود می شود.
- زمان برگشت (یا گردش کار Turn around) یعنی به حداقل رساندن زمانی که کاربران دسته ای باید منتظر بمانند تا خروجی آنها پدید آید. فاصله زمانی از لحظه تحویل کار تا تکمیل کار را زمان برگشت می نامند ولی زمان پاسخ مدت زمانی است که از صدور یک تقاضا تا تولید اولین پاسخ آن طول می کشد (نه زمان خروجی کل برنامه). زمان بارگذاری در حافظه+زمان عملیات I/O +زمان اجراء+زمان انتظار در صف آماده=زمان گردش کار
- توان عملیاتی یا گذردهی (through put) به تعداد پردازش هایی که در واحد زمان تکمیل می شوند توان عملیاتی می گویند. الگوریتم زمانبندی باید به گونه ای باشد که این معیار را افزایش دهد.
- زمان انتظار (waiting time) الگوریتم زمانبندی cpu، بر میزان زمان اجرای پردازش یا اعمال I/O اثر نمی کند ، بلکه فقط در زمان صرف شده جهت انتظار در صف آماده اثر می گذارد. زمان انتظار، مجموع پریود های زمانی صرف شده در صف آماده می باشد. البته ممکن است تعدادی از اهداف فوق با هم در تضاد باشند.
بخشی از سورس الگوریتم SJF در سی پلاس پلاس
int main() { // Process proc[] = { { 1, 6, 1 }, { 2, 8, 1 }, // { 3, 7, 2 }, { 4, 3, 3 } }; int n; cout<<"Enter the number of process : "; cin>>n; Process *pro=new Process[n]; cout <<endl<<endl; for(int i=0;i<n;i++) { pro[i].pid=i; cout<<"Enter the Process P"<<i<<" Burst time : "; cin>>pro[i].bt; cout<<"Enter the Process P"<<i<<" Arrival time : "; cin>>pro[i].art; cout<<"--------------------------------------\n"; } findavgTime(pro,n ); getch(); return 0; }
ویدئوی معرفی محصول
درباره محصول
سورس کد الگوریتم SJF به زبان ++C با استفاده از محیط ++Dev-C نوشته شده است. این کد بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید. به محض خرید محصول لینک دانلود در دسترس خواهد بود.
مباحث مرتبط با الگوریتم های زمان بندی
سورس کدهای آماده الگوریتم های تخصیص حافظه در سی پلاس پلاس
تاریخ انتشار: | 1 مرداد 1397 |
---|---|
تاریخ بروزرسانی: | 7 اسفند 1398 |
حجم فایل: | 0.8 مگابایت |
فرمت فایل | CPP |
نسخه: | 1.0 |
هماهنگی با: | Dev-C++ 5 و بالاتر |
تاکنون 369 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 49,000 تومان
تاریخ انتشار: | 1 مرداد 1397 |
---|---|
تاریخ بروزرسانی: | 7 اسفند 1398 |
حجم فایل: | 0.8 مگابایت |
فرمت فایل | CPP |
نسخه: | 1.0 |
هماهنگی با: | Dev-C++ 5 و بالاتر |
1 بازخورد (مشاهده نظرات)
قیمت: 49,000 تومان
مدیریت و پشتیبانی
نظرات و دیدگاه های خود را با ما درمیان بگذارید.