دانلود الگوریتم زمانبندی نوبت گردشی RR(ناقص)

نظرات 0

دانلود پروژه شماره 217: الگوریتم زمانبندی نوبت گردشی ROUND ROBIN



این پروژه کد برنامه نویسی الگوریتم  RR و به زبان c میباشد.




توضیحات الگوریتم

اهداف زمانبندی پردازنده

            ·Utilization پردازنده- تا جای ممکن، پردازنده اشغال نگه داشته شود.

            ·برون دهی- تعداد پردازه هایی که اجرای آنها در واحد زمان تکمیل می شود.

            ·زمان turnaround- زمان سپری شده برای اجرای یک پردازه خاص

            ·زمان انتظار- میزان زمان انتظار پردازه در صف برای دستیابی به پردازنده

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

 

تعریف زمانبندی در سیستم های چند پردازنده

            ·فرض کنید که مجموعه ای از وظیفه ها با قید های مربوط به ترتیب آنها با استفاده از یک گراف وظیفه مشخص شده باشد.

            ·زمانبندی عبارت است از نسبت دهی زمانی و فضایی وظایف به پردازنده ها می باشد. در واقع، نسبت دهی فضایی وظایف، عبارت است از تخصیص وظایف به پردازنده ها می باشد.

            ·تخصیص زمانی عبارت است از نسبت دهی زمان آغاز به هر کدام از وظایف می باشد.

 

 

زمان بندی پردازش

به منظور ایجاد برنامه‌های پردازشی عادلانه، الگوریتم Round-robin به طور کلی بخش بندی زمان را در نظر می‌گیرد. این کار به صورت دادن هر وظیفه به مرتبه زمانی یا کوانتوم ،بهرهٔ آن در CPU انجام می‌گیرد و چنان چه وظیفه کامل نشده باشد جلوگیری از اجرای آن می‌کند. وظیفه‌ای که زمان بعدی مرتبه زمانی را دوباره به دست می‌آورد مدیریت آن پردازش را به عهده می‌گیرد. در غیاب شراکت زمانی اگر کوانتوم‌ها نسبتاً بزرگ تر از اندازه‌های وظیفه باشند پردازشی که وظیفه‌های بزرگی تولید می‌کند بیش از پردازش‌های دیگر مورد علاقه هستند. مثال: اگر مرتبه زمانی را ۱۰۰ میلی ثانیه در نظر بگیریم و وظیفه ۱ زمان کلی ۲۵۰ میلی ثانیه را تا کامل شدن اختیار کند، الگوریتم تعیین زمان Round-robin وظیفه را بعد از ۱۰۰ میلی ثانیه به تعویق می‌اندازد و وظیفه‌های دیگر زمان خودشان را به CPU می‌دهند. زمانی که وظیفه‌های دیگر سهم مساوی دارند (۱۰۰ میلی ثانیه برای هر کدام) وظیفه ۱ سهمیه دیگری از زمان CPU را می‌گیرد و چرخه تکرار خواهد شد. این پردازش تا زمانی که وظیفه تمام شود ادامه می‌یابد و احتیاج به زمان بیشتری روی CPU ندارد. روش دیگر بدین صورت است که تقسیم بندی تمام پردازش‌ها به تعداد مساوی کوانتوم‌ها به طوری که اندازه کوانتوم متناسب با اندازه پردازش است. از این رو تمام پرداش‌ها در یک زمان ،پایان می‌یابد.

زمان‌بندی نوبت گردشی

 

الگوریتم زمان بندی نوبت گردشی: Round-robin یکی از ساده‌ترین الگوریتم‌های زمان بندی برای پردازش در سیستم عامل محسوب می‌شود. از آن جا که این ترم به صورت کلی استفاده می‌شود.، برش‌های زمان نسبت داده می‌شود به هر پردازش در سهم‌های مساوی و ترتیب چرخشی، مدیریت تمام پردازش‌ها بدون اولویت انجام می‌پذیرد (به همین دلیل به صورت اجرای چرخشی نیز شناخته می‌شود) الگوریتم زمان بندی Round-robin ساده، آسان برای اجرا و بدون کمبود است. این الگوریتم می‌تواند به دیگر مسائل زمان بندی اعمال شود نظیر زمان بندی بسته داده‌ها در شبکه‌های کامپیوتری. نام الگوریتم برگرفته از اصل Round-robin است، این الگوریتم شناخته شده برای دیگر محیط‌ها است جائی که هر شخص سهم مساوی از چیزی را به نوبت بر می‌دارد.