موضوع مقاله: سیستم‌های تحلیل زمان‌بندی بی‌درنگ | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # سیستم‌های تحلیل زمان‌بندی بی‌درنگ | مقدمه: اصطلاح تحلیل زمان‌بندی در سیستم‌های بی‌درنگ (بلادرنگ) شامل تحلیل و تست سیستم زمان‌بند و الگوریتم‌های مورد استفاده در کاربردهای بی‌درنگ است. | ## بخش 1: سیستم‌های تحلیل زمان‌بندی بی‌درنگ | در علم کامپیوتر، تحلیل زمان‌بندی بی‌درنگ، ارزیابی، تست و تصدیق سیستم زمان‌بندی و الگوریتم‌های مورد استفاده در کاربردهای بی‌درنگ تلقی می‌شود. برای عملیات بحرانی، یک سیستم بی‌درنگ باید از نظر عملکرد (کارایی) تست و ارزیابی شود. یک سیستم زمان‌بندی بی‌درنگ متشکل است از زمان‌بند، ساعت و اجزای سخت‌افزاری پردازشگر. در یک سیستم بی‌درنگ، یک پروسه یا وظیفه قابلیت زمان‌بندی شدن دارد؛ وظیفه‌ها توسط یک سیستم بی‌درنگ پذیرفته شده و طبق موعد پایان مشخص شده برای آن وظیفه، بسته به مشخصات الگوریتم زمان‌بندی- تکمیل می‌گردد. مدلینگ و ارزیابی یک سیستم زمان‌بندی بی‌درنگ بر اساس تحلیل ظرفیت الگوریتم مربوط به رعایت شرایط موعد پایان یک پروسه، تعیین می‌گردد. یک موعد پایان به‌صورت زمان مورد نیاز برای اینکه یک وظیفه پردازش شود تعریف می‌گردد برای مثال، در یک الگوریتم زمان‌بندی بی‌درنگ یک موعد پایان می‌تواند پنج نانوثانیه تنظیم شود. در یک عمل بحرانی وظیفه باید قطعاً در زمان مشخص شده یعنی تا موعد پایان پردازش شود (برای مثال ۵ نانو ثانیه). یک وظیفه در یک سیستم بی‌درنگ باید تحت این شرایط کامل شود: نه زودتر نه دیرتر از وقت تعیین شده. یک سیستم را وقتی غیر زمان‌بندی شده می‌شناسند که وظیفه‌ها موعدهای پایان مشخص شده را رعایت نکنند. | ## بخش 2: سیستم‌های تحلیل زمان‌بندی بی‌درنگ | چندین مدل ریاضی برای بازنمایی یک سیستم زمان‌بندی وجود دارد، بیشتر پیاده‌سازی‌های الگوریتم زمان‌بندی بی‌درنگ برای پیاده‌سازی پیکربندی‌های چندپردازنده‌ای یا تک‌پردازنده‌ای مدل می‌شوند. چالش برانگیزترین الگوریتم زمان‌بندی برای چند پردازنده ای‌ها است زیرا همیشه ممکن نیست الگوریتم زمان‌بندی تک پردازنده ای را در یک چند پردازنده ای مدل کنیم. الگوریتم‌های مورد استفاده در تحلیل زمان‌بندی، به‌صورت انحصاری یا غیر انحصاری (قابل قبضه کردن یا غیرقابل قبضه کردن) دسته‌بندی می‌شوند. یک الگوریتم زمان‌بندی مشخص می‌کند که وظیفه‌ها چگونه توسط سیستم زمان‌بندی مورد پردازش قرار گیرند. در بیان کلی، در الگوریتم برای سیستم زمان‌بندی بی‌درنگ، هر وظیفه یک توصیف، موعد اتمام و یک شناساگر (که نشان دهنده اولویت است) دارد. الگوریتم زمان‌بندی منتخب تعیین می‌کند اولویتها چگونه به یک وظیفه خاص نسبت داده شوند. برای یک زمان‌بند ایستا، اولویت‌های وظیفه قبل از به اجرا درآمدن‌های سیستم تعیین می‌شوند. وظیفه‌ها توسط اِلِمان‌های سخت‌افزاری در یک سیستم زمان‌بندی بی‌درنگ از محیط محاسباتی پذیرفته می‌شوند و در مُد بی‌درنگ پردازش می‌گردند. همیشه رعایت موعدهای پایان ممکن نیست از این رو تصدیق‌های بیشتری از الگوریتم زمان‌بندی باید گرفته شود. | ## بخش 3: سیستم‌های تحلیل زمان‌بندی بی‌درنگ | دو مدل مختلف را با استفاده از یک الگوریتم زمان‌بندی پویا می‌توان پیاده کرد: یک موعد مظیفه مطابق با اولویت وظیفه (موعد پایان زودتر) انتساب داده شود یا یک زمان تکمیل برای هر وظیفه به‌صورت تفریق زمان پردازش از زمان موعد اتمام نسبت داده شود (تسامح). موعدهای پایان و زمان اجرای مورد نیاز وظیفه باید از قبل تفهمیم شده باشند تا اطمینان حاصل شود استفاده مؤثر از زمان‌های اجرای المان‌های پردازشگر انجام می‌شود. تصدیق برای عملکرد یک زمان‌بند بی‌درنگ نیازمند تست الگوریتم زمان‌بندی تحت سناریوهای تست مختلف است از جمله بدترین حالت زمان اجرا. اسن سناریوهای تست شامل موارد بدترین و نامطلوب هستند تا عملکرد و کارایی الگوریتم مورد بازبینی قرار گیرد. محاسبات زمان لازم برای تحلیل سیستم‌های زمان‌بندی نیازمند ارزیابی الگوریتم در سطح کد نویسی است. متدهای مختلف را برای تست یک سیستم زمان‌بندی در یک سیستم بی‌درنگ می‌توان به کار بست. یک متد اقتصادی تر و سریع تر دیگر رویکرد مبتنی بر ریسک است که ورودی‌هایی که بحرانی به نظر می‌آیند برای تست انتخاب شوند. این متد به صرفه تر است اما نتایج کمتر بهینه تری در قبال تأیید سیستم خواهد داشت اگر که رویکرد نادرست استفاده شود. | ## جمع‌بندی | الزامات تست و آزمون مجدد بعد از تغییرات وارد شده به سیستم زمان‌بندی، بر اساس موارد استفادهٔ آن سیستم، تعریف می‌گردد تست و تصدیق سیستم‌های بی‌درنگ نباید به ورودی و خروجی‌ها و تصدیق‌های کد محدود باشد بلکه باید همچنین در اجرا شدن کاربردها با کمک گرفتن از متدهای مداخله‌کننده یا غیرمداخله‌کننده، انجام شوند.