گردونه رو بچرخون و شانس خودت رو برای گرفتن کد تخفیف امتحان کن!

چرخه رولت
روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

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

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

(دیدگاه کاربر 1)
امتیاز 5.00 از 5

برنامه‌نویس: 

هزینه سفارش:

۱۱۹,۰۰۰ تومان

تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.

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

الگوریتم زمانبندی SJF

الگوریتم زمانبندی 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 در سی پلاس پلاس

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 در سی پلاس پلاس

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

ویدئوی معرفی اثر

نحوه اجرای سورس کد

مشخصات تکمیلی سورس کد

نام اثر: سورس کد الگوریتم زمانبندی SJF در ++C
نوع اثر: سورس کد
برنامه‌نویس: تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی: ++C سی پلاس پلاس
ویژگی: دارای قابلیت دانلود و ویرایش

راهنمای خرید و ثبت سفارش

تصویر مراحل خرید از پی استور

اگر در مورد این اثر یا نحوه تهیه آن سوالی دارید؟
  • با شماره تلفن واحد مخاطبین 44225175 (پیش شماره 041) تماس بگیرید. – تمام ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). – تمام ساعات

برنامه‌نویس:  تیم برنامه‌نویسی پی‌استور

متشکل از اساتید و فارغ التحصیلان رشته‌های فنی - مهندسی

تیم برنامه نویسی پی استور یکی از اولین گروه‌های تشکیل شده در مجموعه آموزشی پی استور می‌باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته‌های فنی و مهندسی تشکیل شده که در زمینه‌های مختلف برنامه‌نویسی و تهیه سورس کد فعال هستند.

نظرات

1 نظر|5.00 (میانگین امتیاز کاربران)

  1. آواتار مدیریت و پشتیبانی

    مدیریت و پشتیبانی

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

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

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

شناسه اثر: 4412 دسته‌بندی موضوعی: برچسب ,

هزینه سفارش:

۱۱۹,۰۰۰ تومان