تخفیف نوروزی پی استور
هزینه سفارش:
۱۲۹,۰۰۰ تومان
پیاده سازی الگوریتم راند رابین در متلب عنوان موضوعی است که در این پست به آن پرداختهایم. در این پست به نحوه پیاده سازی و یک مثال کامل از این الگوریتم خواهیم پرداخت. سورس کد پیاده سازی الگوریتم راند رابین در متلب بصورت کامل همراه با زمانهای اجرا و زمان ورود هر فرآیند آمده است. در ادامه به بررسی این الگوریتم میپردازیم.
پیاده سازی الگوریتم راند رابین در متلب عنوان موضوعی است که در این پست به آن پرداختهایم. در این بخش به نحوه پیاده سازی الگوریتم RR در متلب همراه با یک مثال کامل خواهیم پرداخت. سورس کد الگوریتم راند رابین بصورت کامل همراه با زمانهای اجرا Burst time و زمان ورود Arrival time هر فرآیند آمده است. در ادامه به بررسی این الگوریتم میپردازیم.
هدف چند برنامهگی Multi Programming در سیستم عامل این است که در همه اوقات، پردازشی در حال اجرا وجود داشته باشد تا بهرهوری cpu بیشینه شود. هدف اشتراک زمانی Time Sharing آن است که cpu مابین پردازشها Process به قدری مکرر، سوئیچ Switch نماید که کاربران با برنامه در حال اجرا محاوره داشته باشند. زمانی که بیش از یک پروسس قابل اجرا باشد سیستم عامل باید تصمیم بگیرد که کدامیک اول اجرا شود.
بخشی از سیستم عامل که این تصمیم گیری را انجام میدهد زمانبند Scheduler نامیده میشود. پردازشهایی که در حافظه اصلی قرار دارند و منتظر اجرا شدن هستند در صفی به نام صف آماده (ready queue) قرار میگیرند. این صف معمولاً به شکل یک لیست پیوندی (linked list) پیاده سازی میشود. پردازش در حال اجرا بنا به دلایل زیر میتواند به صف آماده برود تا زمانبندی مجدد شود:
شکل زیر این حالات را نشان میدهد.
الگوریتم راند رابین round robin یا RR یکی از قدیمیترین، سادهترین و عادلانهترین و همچنین پرکاربردترین الگوریتمهای زمانبندی است که مخصوص سیستمهای اشتراک زمانی طراحی شده است. در این روش تمام فرآیندها اولویت یکسانی دارند و پس از آنکه هر فرآیند پردازنده را در اختیار گرفت یک کوانتوم زمانی داده میشود. سیستمعاملی که از زمانبند الگوریتم راند رابین round robin استفاده میکند، اولین فرآیند از صف آماده را میگیرد، یک شمارشگر را تنظیم میکند تا پس از یک کوانتوم زمانی، قطع شده و پردازنده را به فرآیند بعدی بدهد.
اگر زمان متوالی پردازشی این فرآیند کوچکتر از کوانتوم زمانی باشد، آنگاه پردازنده را بهطور داوطلبانه، یا با فسخ و یا صدور یک درخواست I/O آزاد میکند. سپس سیستمعامل به پردازش فرآیند بعدی حاضر در صف آماده میپردازد. در سوی دیگر اگر زمان متوالی پردازشی فرآیند، بزرگتر از کوانتوم زمانی باشد، آنگاه شمارشگر بعد از پایان یک کوانتوم زمانی خاموش میشود و فرآیند فعلی را قطع کرده (مانع ادامهی اجرای آن میشود) و بلوک کنترل فرآیند آن را به انتهای صف آماده ارسال میکند.
پردازشهای زیر را در نظر میگیریم و با استفاده از الگوریتمهای زمانبندی راند رابین round robin، میانگین زمان انتظار Average waiting time و زمان کامل شدن Average turn around time آنها را به دست میآوریم.
فرض میکنیم کوانتوم زمانی نیز برابر با ۲ باشد در این صورت فرآیندها به ترتیب بصورت زیر اجرا خواهند شد.
P1,P1,P2,P3,P4,P5,P1,P2,P3,P4,P3,P4,P3,P4,P4
پس از اجرای فرآیندها معیارهای آنها اندازه گیری میشود. که بصورت زیر است.
در کد آمادهای که پس از خرید این اثر در اختیار شما قرار میگیرد میتوانید همین مثال را در الگوریتم RR آورده و اجرا کنید. برای مثالهای دیگر نیز به راحتی میتوانید ورودیهای جدید را جایگزین کنید.
سورس کد الگوریتم زمانبندی راند رابین در متلب نوشته شده است. این کد بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. این اثر دارای نشان تضمین کیفیت پی استور میباشد. برای دانلود اثر آن را خریداری کنید. بمحض خرید اثر لینک دانلود در دسترس خواهد بود.
تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
نام اثر: | پیاده سازی الگوریتم راند رابین در متلب |
نوع اثر: | سورس کد |
برنامهنویس: | تیم برنامهنویسی پیاستور |
زبان برنامه نویسی: | متلب MATLAB |
ویژگی: | قابلیت دانلود و ویرایش |
توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:
هزینه سفارش:
۱۲۹,۰۰۰ تومان
نظرات
مدیریت و پشتیبانی
آخرین تغییرات در سورس کد به تاریخ بروز رسانی جدید اعمال شده است.
مدیریت و پشتیبانی
نظرات و دیدگاه های خود را با ما درمیان بگذارید.