زمانبند Rate-monotonic کیست؟ توضیح بده.
در علوم کامپیوتر ، زمان‌بند Rate-monotonic(برنامه‌ریز نرخ یکنواخت یا RMS ) به عنوان یک الگوریتم زمان‌بندی بر اساس اولویت با استفاده از یک کلاس اولویت ایستا است. که در سیستم عامل‌های بلادرنگ (RTOS) استفاده می‌شود. اولویت های ایستا در این روش بر اساس زمان مورد نیاز برای انجام شدن یک چرخه کامل کار(وظیفه) تعیین می‌شود پس هرچه زمان مورد نیاز برای چرخه کار کمتر باشد اولویت آن کار (وظیفه) بیشتر است. این سیستم عامل‌ها عموماً انحصاری(قبضه ای) است و تضمین قطعی برای زمان اجرا دارد.در این سیستم‌ها از تحلیل نرخ یکنواخت (Rate monotonic analysis) برای به دست آوردن تضمین زمان بندی در یک برنامه خاص استفاده می‌شود. معرفی.در نسخه ساده تجزیه و تحلیل نرخ مونوتونیک rate-monotonic analysis فرض می‌شود رشته‌ها دارای ویژگی‌های زیر باشند: این یک مدل ریاضی است که شامل یک شبیه سازی محاسبه شده از دوره‌ها در یک سیستم بسته است، در جایی که زمانبندهای راند رابین(نوبت گردشی) و اشتراک زمانی در برآورد کردن نیازهای زمانبندی ناتوان هستند. زمان بند rate monotonic مدل اجرایی همه رشته های موجود در سیستم را بررسی می‌کند و از روی این بررسی انجام شده تعیین می‌کند چه مقدار زمان برای تضمین مجموعه رشته‌های درخواستی مورد نیاز است اثبات کردند که برای مجموعه‌ای از وظایف دوره‌ای مانند با دوره‌های منحصر به فرد،یک برنامه ریزی شدنی به طوریکه تمامی مهلت‌های پایان را رعایت کند وجود دارد اگر میزان مصرف از پردازنده از یک حد مشخص کمتر باشد که این حد به تعداد وظایف وابسته است تست برنامه ریزی برای RMS از رایطه زیر به دست می‌آید: که در این رابطه زمان مورد نیاز وظیفه i ام برای پردازش است، دوره آزادسازی پردازه iام است که مهلت پایان آن یک دوره بعد است ، و تعداد فرایندهای برنامه ریزی شده است. به عنوان مثال، برای دو فرایند است. هنگامی که تعداد فرایندها به سمت بی نهایت تمایل پیدا می کند، این عبارت به سمت مقدار زیر میل می‌کند: بنابراین، برآورد تقریبی این است که RMS میتواند تمام ضربالعجل‌های پایان مقرر را در صورتی که نرخ بهره‌وری CPU کمتر از 69.32٪ باشد برآورده کند.30.7٪ باقی از CPU را می توان به وظایف غیر بلادرنگ کم اولویت اختصاص داد. میدانیم که یک سیستم وظیفه که به صورت تصادفی تولید می شود زمانی که بهره‌وری پردازنده 85٪ یا کمتر باشد تمامی مهلت پایان ها را برآورده خواهدکرد، با این حال این واقعیت به دانستن دقیق آمار و اطلاعات وظایف (مانند دوره‌ها، مهلت‌ها) بستگی دارد که نمی‌توان تامین این اطلاعات را برای تمام مجموعه‌های کار تضمین کرد. محدودیت هایپربولیک یک شرط کافی با محدودیت شدیدتر نسبت یه روش ارائه لی(Liu) و لیلند (Layland) برای بازه قابلیت برنامه‌ریزی است که در این رابطه کارایی پردازنده برای هر وظیفه است. تخصیص اولویت نرخ مونوتونیک بهینه است، به این معنی که اگر هر الگوریتم برنامه ریزی استاتیک اولویت دیگری بتواند تمام ضربالعجل‌ها را برآورده کند، الگوریتم نرخ مونوتونی نیز می تواند. الگوریتم برای دوره‌ها و ضرب‌العجل‌های برابر نیز بهینه است، در واقع در این مورد الگوریتم‌ها یکسان هستند؛ علاوه بر این، زمانبندی مونوتنیک ضرب‌العجل زمانی مطلوب است که ضرب‌العجل کمتر از دوره باشد. الگوریتم Audsley که دارای تست برنامه‌ریزی دقیق برای این مدل است، برای یک مدل کاری که در آن ضرب‌العجل می‌تواند بیشتر از دوره باشد، یک تخصیص اولویت بهینه را تعیین می‌کند. اجتناب از عدم رعایت اولویت.در بسیاری از کاربردهای عملی، منابع به اشتراک گذاشته می شوند و RMS بدون تغییر،باعث میشود در معرض خطر عدم رعایت اولویت و همچنین در معرض خطر وقوع بن بست قرار گیرد. در عمل این مشکل را با غیر فعال کردن امکان قبضه یا حل می‌کنند. همچنین روش های جایگزینی وجود دارد مانند استفاده از یا اجتناب از اشتراک (mutex) یا سمافور(semaphore ) بین رشته‌های دارای اولویت مختلف، که در وهله اول اینکار می‌تواند باعث جلوگیری از تداخل منابع شود. ارث بری اولویت.الگوریتم‌های ارث بری اولویت می‌توانند با دو ویژگی مشخص شوند. ویژگی اول وراثت تنبل یا فوری(بلافاصله):تنبل (فقط زمانی اعمال می‌شود که ضروری است) یا وراثت بلافاصله (افزایش اولویت قبل از وقوع یک تداخل)ویژگی دوم اولویت خوش بین یا بدبین:اولویت خوش بینانه (افزایش به اندازه حداقل مقدار) بدبینانه (افزایش بیشتر از حداقل مقدار) در عمل هیچ تفاوت ریاضی (از لحاظ استفاده از سیستم Liu-Layland محدود) بین الگوریتم‌های تنبل و فوری وجود ندارد و الگوریتم‌های فوری برای پیاده سازی کارآمدتر هستند و بنابراین در سیستم‌های عملی معمولاً از آنها استفاده می‌شوند. یک نمونه از استفاده از وراثت اولیه(ساده) اولویت مربوط به "خطای بازنشانی پیمایش مریخ " است مثال.بهره وری برابر است با: شرایط کافی برای 3 فرایند، که می‌توان نتیجه گرفت که سیستم قابل برنامه‌ریزی و زمانبندی است: formula_4 از آنجاییکه formula_5 سیستم مطمئناً قابل برنامه ریزی است اما به یاد داشته باشید، این شرط لازم نیست. بنابراین ما نمی‌توانیم بگوییم که یک سیستم با بهره‌وری بیشتر با این الگوریتم زمانبندی قابل برنامه ریزی نیست یا نه.