سلام
قبلا یه چیزایی ترجمه کردم
زمانبندی در لینوکس
سیستم عامل لینوکس از این نوع زمانبندی برای اجرای برنامه ها استفاده می کند به نظرم مهم رسید شما هم که لینوکس رو به عنوان سیستم عامل خانگی یا کاری استفاده می کنید و می خواهید از بعضی جزئیات آشنا شوید آشنا و معرفی کنم
این زمانبندی یکی از قدیمی ترین ، ساده ترین ، عادلانه ترین و رایجترین الگوریتم های زمانبندی است و از نوع غیر انحصاری (preemptive) می باشد. به عبارتی دیگر یک واحد کوچک زمانی به نام کوانتوم زمانی (time quantum) یا برش زمانی تعریف می شود که معمولا بین 10 تا 100 میلی ثانیه است و هر پروسس حداکثر به این میزان می تواند cpu را در اختیار داشته باشد هنگامی که پردازشی cpu را در اختیار دارد دو حالت ممکن است رخ دهد یا انفجار محاسباتی جاری کمتراز عملیات i/o می شود(مانند fcfs) و یا اینکه انفجارمحاسباتی بیشتر از یک کوانتوم زمانی است که در این حالت تایمر یک وقفه به سیستم عامل می دهد و سیستم عامل با تعویض متن cpu را از پردازش جاری گرفته و آن را به ته صف آماده می فرستد ، سپس از ابتدای صف آماده ، پردازش دیگری را جهت اجرا انتخاب می کند.
از این روش در سیستم های اشتراک زمانی و interactive استفاده شده تا زمانهای پاسخ برای کاربران محاوره ای به صورت گارانتی شود .میانگین زمان انتظاربرای الگوریتم RR غالبا طولانی است
به مثالهای زیر دقت کنید:
سه پردازش با زمنهای انفجاری زیر در لحظه 0 وارد سیستم می شوند . میانگین زمان انتظار آنها را در سیستم RRبا کوانتوم زمانی 4 میلی ثانیه به ترتیب زیر است
حل : نمودار گانت پردازشها به صورت زیر خواهد بود
دقت کنید هنگامی که cpu به p1 داده شده است پش از کوانتوم زمانی از آن گرفته شده و سپس به p2 داده می شود . ولی p2 قبل از اتمام مهلت زمانی 4 میلی ثانیه ، کلا تمام می شود و پردازش p3 ، cpu را در اختیار می گیرد .
شمان انتظار مجموع پریودهای صرف صرف شده در حالت انتظار در صف آماده است لذا برای p1 داریم :
6=4-10=زمان انتظارp1
5.66=17/3 =3/ 7+4+6=میانگین زمان انتظار
کارایی الگوریتم RR به طو کامل به مقدار برش زمانی بستگی دارد . هنگامی که برش زمانی بی نهایت فرض شود در واقع الگوریتم RR تبدیل به الگوریتم fcfs می شود . به طور کلی کوانتوم زمنی نسبت به زمان سوئیچ متن باید بزرگ باشد چرا که در طی تعویض متن هیچ عمل مفیدی انجام نمی شود