سیستم عامل کوثر

سیستم عامل فارسی کوثر

سیستم عامل کوثر

سیستم عامل فارسی کوثر

سیستم عامل کوثر

سیستم عامل فارسی کوثر

نویسندگان

تبادل اطلاعات فنی - مدیر حافظه

ع. رضوانی | چهارشنبه, ۴ تیر ۱۳۹۳، ۰۱:۲۴ ب.ظ
بخش تخصصی برای این قسمت در نظر گفته شده است
و این قسمت دیگر بروز رسانی نمی شود.
بخش های تخصصی در بخش موضوعات قابل مشاهده هستند.

  • ع. رضوانی

نظرات  (۲)

با اجازه آقا عماد مسائل زمانبدی را مطرح می کنم که رابطه مستقیمی با مدیر حافظه دارد چون که حافظه به عنوان زمانبند کوتاه مدت مطرح است.
سعی می کنم سیاست زمانبندی را با چند الگوریتم زمانبدی مطرح کنم.
نوبت گردشی (RR)
مقدمه
همانطور که همه ما می دانیم ، زمانبند FCFS دارای جریمه زیادی است به این دلیل که انتخاب براساس تابع Max[w] است  (w در اینجا مدت زمان طی شده برای منتظر بودن تا اکنون است) و این نشان می دهد که سیاست تصمیم گیری براساس بدون قبضه کردن (انحصاری) است ، در اینصورت زمان پاسخ به عنوان معیار مهم در انتخاب اتاق فکر سیستم عامل ، با الگوریتم FCFS بسیار زیاد می شود و این خود باعث افزایش میزان واریانس زمان اجرا (RunTime) می شود.از آنجا که الگوریتم ساده است ولی به فرآیندهای ورودی / خروجی ضربه می زند چون که دستگاه های ورودی خروجی بی کار می مانند.براساس شبیه سازی های انجام شده در نظر گرفته شد که این الگوریتم FCFS برای فرآیندهای کوچک خوب کار می کند.بنابراین برای فرآیندهای محاسباتی (آنهایی که با پردازنده کار می کنند) خوب است اما این تمایز قائل شدن جزیمه سنگینی برای سیستم دارد.
زمانبندی RR این جریمه را از بین می برد و قبضه کردن را براساس یک ساعت و در طی وقفه هایی انجام می دهد.که با بروز هر وقفه (Interrupt (Timeout)) فرآیند به انتهای صف برگشته و توزیع کننده یک فرآیند دیگر را انتخاب می کند.اما سوال اینجاست که آیا با این برهه زمانی ، سربار سیستم افزایش پیدا نمی کند؟ منظور این است که با تعیین یک برهه زمانی ، سوییچ کردن ها و context switch ها ، سربار برای سیستم نیست؟ با اینکه چندبرنامگی و دستگاه های ورودی و خروجی هم مشغول هستند (از بین بردن جریمه های FCFS).این سوال را لطفاً به چالش بکشید.
طبق شبیه سازی هایی که انجام شده است گفته شده که الگوریتم RR رفتار خوبی با فرآیندهای محاسباتی (آنهایی که با پردازنده کار می کنند) ندارد چرا که پردازش برای فرآیندهای ورودی/خروجی مدت کمتری نسبت به فرآیندهای محاسباتی دارد و این سرعت در سمت دستگاه های ورودی/خروجی باعث کشیدگی بیشتری شده است.و به طور کلی فراوانی نسبی در سمت دستگاه های ورودی/خروجی بالاست.نظر شما چیست؟
پاسخ:
پس  FCFS:
۱. زمان انتظار برای درخواست های کوچک و پشت یک درخواست بزرگ ممکن است زیاد باشد.
۲. برای سیستم های اشتراک زمانی مناسب نیست(عادلانه نیست)
۳. به تنهایی کاربردی ندارد و باید با دیگر الگوریتم ها ترکیب و با دقت اجرا شود.


پس RR:
استفاده از RR به همراه چند صف متفاوت الگوریتمی به نظر معقول میاد
جمع بندی درستی کردید.
مسئله اینجاست که اگر RR کوانتم زمانی بیشتری داشته باشد شبیه FCFS می شود.اگر کوانتم زمانی کمتری داشته باشد به میزان سوییچ ها بالا می رود و این سربار سیستم عامل را بالا می برد.به طور کلی RR پیچدگی الگوریتمی خاصی دارد یعنی اگر مثلاً x به عنوان کوانتم زمانی باشد با میل شدن به سمت بی نهایت (X-->∞) شبیه FCFS عمل می کند.همین عمل را می توان برای کوانتم های پایین تر بدست آورد که نتیجه سوییچ شدن های زیاد را می دهد.
بله می توان صف بندی کرد الگوریتم VRR همین کا را انجام داده.این الگوریتم یک جورایی پروسه اولویت بندی را هم انجام می دهد.یعنی تقریباً براساس اولویت بندی است.
طراحش میگه که نسبت به RR بسیار بهتر عمل می کند.