• مقالات آموزشی
    • آموزش برنامه نویسی
    • آموزش الگوریتم
    • آموزش شبکه های کامپیوتری
    • آموزش های عمومی
  • ترجمه مقاله
    • لیست ترجمه کامل مقالات
    • لیست ترجمه مفهومی مقالات
  • تحقیق و پژوهش
    • لیست داکیومنت پایان‌نامه
    • لیست داکیومنت سمینار
  • پیاده سازی
    • سی پلاس پلاس ++C
    • برنامه نویسی OpenGL
    • سی شارپ #C
    • پایتون Python
    • اندروید Android
    • پی اچ پی PHP
    • متلب Matlab
  • پاورپوینت
    • پاورپوینت الگوریتم های بهینه سازی
    • پاورپوینت شبکه‌های کامپیوتری
    • پاورپوینت مهندسی کامپیوتر
    • پاورپوینت یادگیری ماشین
    • پاورپوینت درس و تحقیق
    • قالب آماده پاورپوینت
  • فیلم آموزشی
    • لیست فیلم های آموزشی
  • قالب آماده
    • لیست قالب آماده HTML
  • دانلود رایگان
  • مجله پی استور
  • آموزش برنامه نویسی
  • آموزش الگوریتم
  • آموزش شبکه
  • آموزش عمومی

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت
  • قوانین
  • تماس با ما
  • درباره ما
  • همکاری با ما
پی استور
0

ورود و ثبت نام

مقالات آموزشی
  • ترجمه مقاله
    • لیست ترجمه کامل مقالات
    • لیست ترجمه مفهومی مقالات
  • تحقیق و پژوهش
    • لیست داکیومنت پایان‌نامه
    • لیست داکیومنت سمینار
  • پیاده سازی
    • سی پلاس پلاس ++C
    • برنامه نویسی OpenGL
    • سی شارپ #C
    • پایتون Python
    • اندروید Android
    • پی اچ پی PHP
    • متلب Matlab
  • پاورپوینت
    • پاورپوینت الگوریتم های بهینه سازی
    • پاورپوینت شبکه‌های کامپیوتری
    • پاورپونت مهندسی کامپیوتر
    • پاورپوینت یادگیری ماشین
    • پاورپوینت درس و تحقیق
    • قالب آماده پاورپوینت
  • فیلم آموزشی
    • لیست فیلم های آموزشی
  • قالب آماده
    • قالب آماده HTML
  • مجله پی استور

پیاده سازی الگوریتم راند رابین در متلب

خانهفروشگاهبرنامه نویسیمتلبپیاده سازی الگوریتم راند رابین در متلب
پیاده سازی الگوریتم راند رابین در متلب

پیاده سازی الگوریتم راند رابین (ROUND ROBIN) در متلب

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

مفهوم زمانبندی در سیستم عامل

هدف چند برنامه گی این است که در همه اوقات ، پردازشی در حال اجرا وجود داشته باشد تا بهره وری cpu بیشینه شود. هدف اشتراک زمانی آن است که cpu مابین پردازش ها به قدری مکرر، سوئیچ نماید که کاربران با برنامه در حال اجرا محاوره داشته باشند.زمانی که بیش از یک پروسس قابل اجرا باشد سیستم عامل باید تصمیم بگیرد که کدامیک اول اجرا شود .

بخشی از سیستم عامل که این تصمیم گیری را انجام می دهد زمانبند (Schedulr) نامیده می شود. پردازش هائی که در حافظه اصلی قرار دارند و منتظر اجرا شدن هستند در صفی به نام صف آماده (ready queue) قرار می گیرند. این صف معمولاً به شکل یک لیست پیوندی (linked list) پیاده سازی می شود. پردازش در حال اجرا بنا به دلایل زیر می تواند به صف آماده برود تا زمانبندی مجدد شود :

  1. پردازش می تواند یک درخواست I/O منتظر بماند تا به آن سرویس داده شود.
  2. پردازش می تواند یک پردازش جدید (فرزند) ایجاد نموده و برای اتمام آن صبر کند.
  3. پردازش به علت تمام شدن برش زمانی (time slice) از cpu جدا می شود تا این امکان به بقیه پردازش ها نیز داده شود که از بقیه cpu استفاده کنند.
  4. پردازش منتظر وقوع یک وقفه باشد.

شکل زیر این حالات را نشان می دهد.

حالت های پردازش در سیستم عامل

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

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 اثر نمی کند ، بلکه فقط در زمان صرف شده جهت انتظار در صف آماده اثر می گذارد. زمان انتظار ، مجموع پریود های زمانی صرف شده در صف آماده می باشد. البته ممکن است تعدادی از اهداف فوق با هم در تضاد باشند.

الگوریتم راند رابین round robin

الگوریتم راند رابین round robin یکی از قدیمی‌ترین، ساده‌ترین و عادلانه‌ترین و همچنین پرکاربردترین الگوریتم‌های زمانبندی است که مخصوص سیستم‌های اشتراک زمانی طراحی شده است. در این روش تمام فرآیندها اولویت یکسانی دارند و پس از آنکه هر فرآیند پردازنده را در اختیار گرفت یک کوانتوم زمانی داده می‌شود.

سیستم‌عاملی که از زمانبند الگوریتم راند رابین round robin استفاده می‌کند، اولین فرآیند از صف آماده را می‌گیرد، یک شمارشگر را تنظیم می‌کند تا پس از یک کوانتوم زمانی، قطع شده و پردازنده را به فرآیند بعدی بدهد. اگر زمان متوالی پردازشی این فرآیند کوچکتر از کوانتوم زمانی باشد، آنگاه پردازنده را به‌طور داوطلبانه، یا با فسخ و یا صدور یک درخواست I/O آزاد می‌کند.

سپس سیستم‌عامل به پردازش فرآیند بعدی حاضر در صف آماده می‌پردازد. در سوی دیگر اگر زمان متوالی پردازشی فرآیند، بزرگتر از کوانتوم زمانی باشد، آنگاه شمارشگر بعد از پایان یک کوانتوم زمانی خاموش می‌شود و فرآیند فعلی را قطع کرده (مانع ادامه‌ی اجرای آن می‌شود) و بلوک کنترل فرآیند آن را به انتهای صف آماده ارسال می‌کند.

 

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

پردازش های زیر را در نظر می‌گیریم و با استفاده از الگوریتم های زمانبندی راند رابین round robin ، میانگین زمان انتظار و زمان کامل شدن آن ها را به دست می‌آوریم.

2

فرض می کنیم کوانتوم زمانی نیز برابر با 2 باشد در این صورت فرآیندها به ترتیب بصورت زیر اجرا خواهند شد.

P1,P1,P2,P3,P4,P5,P1,P2,P3,P4,P3,P4,P3,P4,P4

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

3

برای دانلود سورس کد کامل الگوریتم راند رابین در متلب آن را خریداری کنید.

درباره محصول

سورس کد الگوریتم زمانبندی راند رابین Round Robin در متلب 2014 نوشته شده است. این کد بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید. بمحض خرید محصول لینک دانلود در دسترس خواهد بود.

امتیاز
5.00 از 1 رأی
5.00 1 رای
29,000 تومان
تعداد دانلود : 153
تاریخ انتشار: 15 مرداد 1397
تاریخ بروزرسانی: 28 دی 1397
حجم فایل: 1 کیلوبایت
فرمت فایل m. در قالب Matlab
نسخه: 1.0
لایسنس: ندارد
هماهنگی با: Matlab 2014
نظرات و دیدگاه ها
  • programstore
    28 اسفند 1397
    پاسخ

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

  • programstore
    4 فروردین 1398
    نمره 5 از 5
    پاسخ

    آخرین تغییرات در سورس کد به تاریخ بروز رسانی جدید اعمال شده است.

قوانین ثبت دیدگاه

  • دیدگاه های فینگلیش تایید نخواهند شد.
  • دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
  • از درج دیدگاه های تکراری پرهیز نمایید.
  • امتیاز دادن به محصول فقط مخصوص اعضای سایت می باشد.

لغو پاسخ

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

قیمت 29,000 تومان

افزودن به علاقه مندی ها

سورس کد الگوریتم زمانبندی راند رابین Round Robin در متلب 2017 نوشته شده است. بمحض خرید محصول لینک دانلود در دسترس خواهد بود.

با خرید این محصول از مزایای زیر بهره‌مند می‌شوید:

  • دسترسی به فایل محصول به صورت مادام‌العمر
  • ۶ ماه پشتیبانی کاملا رایگان و تضمین شده
امتیاز
5.00 از 1 رأی
5.00 1 رای
29,000 تومان

تاریخ انتشار: 15 مرداد 1397
تاریخ بروزرسانی: 28 دی 1397
حجم فایل: 1 کیلوبایت
فرمت فایل m. در قالب Matlab
نسخه: 1.0
لایسنس: ندارد
هماهنگی با: Matlab 2014
تعداد دانلود : 153

قیمت: 29,000 تومان

تماس با ما
  • دفتر پشتیبانی: 04144225175
  • دسترسی سریع: 09227367942
  • واتساپ پشتیبانی: 09208501946
  • [email protected]
درباره پی استور

تیم توسعه پی استور با هدف ارائه مطالب مفید علمی در گرایش های مختلف پروژه های علمی مختلف را جمع آوری می کند و در قالب یک محصول تست شده و قابل اجرا همراه با توضیحات و نحوه اجرا، انتشار می دهد. امید است با عنایت الهی و کوشش اساتید و دانشجویان همراهمان بتوانیم قدم کوچکی در تولید محتوای علمی کشور داشته باشیم.

مجوز های اخذ شده

نشان ملی  

  • قوانین
  • تماس با ما
  • درباره ما
  • همکاری با ما
پی استور
  • آموزش برنامه نویسی
  • آموزش الگوریتم
  • آموزش شبکه
  • آموزش عمومی
تمامی حقوق برای پی استور محفوظ است.
keyboard_arrow_up