سیستم های بی‌درنگ

rtos index
توسط
rtos 1

سیستم‌عامل بی‌درنگ بر پایه Unix که توسط شرکت LynuxWorks ارائه می‌شود. این سیستم عامل منطبق با استاندارد POSIX و سازگار با Linux می‌باشد و دارای ویژگی چند نخی است و برای کاربردهای بی‌درنگ پیچیده ای که نیاز به پاسخگویی‌های سریع و قطعی دارند، طراحی شده‌است. نوعی سیستم‌عامل است که در آن، زمان، پارامتر کلیدی است. برای مثال در سیستم‌های کنترل فرایند، رایانه‌های بی‌درنگ باید داده‌های فرایند تولید را جمع‌آوری کرده و به کمک آن ماشین‌های داخل کارخانه را کنترل کنند. خیلی اوقات باید فرجه زمانی (deadline) به‌طور دقیق برآورده شود؛ یعنی باید کارها در لحظات خاصی از زمان انجام گیرد. برای مثال اگر یک خودرو در خط مونتاژ در حال حرکت باشد و ربات جوشکاری خیلی زود یا خیلی دیر جوش دهد، خودرو خراب خواهد شد.

زمانی از یک سیستم بی‌درنگ استفاده می‌شود که لازم باشد عملیات پردازنده یا جریان داده در زمان کاملاً مشخصی انجام شود؛ بنابراین یک سیستم بی‌درنگ اغلب به‌عنوان ابزار کنترلی در یک کاربرد خاص استفاده می‌شود. سیستم‌هایی که آزمایش‌های علمی را کنترل می‌کنند، سیستم‌های تصویربرداری پزشکی، سیستم‌های کنترل صنعتی، و نیز برخی از موتورهای انژکتوری در خودرو، کنترلرهای لوازم خانگی و سیستم‌های جنگ‌افزاری، سیستم‌های بی‌درنگ هستند. این سیستم‌ها برای آنکه به‌درستی کار کنند باید پاسخ درست را در فرجه زمانی از پیش تعیین شده بازگردانند در صورتی که در سیستم‌های اشتراک زمانی مطلوب است (ولی اجباری نیست) که سریع پاسخ دهند.

rtos 3

انواع سیستم بی‌درنگ

۱. سخت (Hard Real-Time System):

سیستم بی‌درنگ سخت تضمین میکند که کارهای بحرانی به موقع انجام شوند.
برای رسیدن به این هدف، تمام تأخیرهای موجود در سیستم باید از بین بروند؛ نظیر تاخیرهای ناشی از دستیابی داده های ذخیره شده و زمانی که لازم است تا سیستم عامل درخواست هایی را که بر روی آن صورت گرفته است انجام دهد.

این محدودیت زمانی، امکاناتی را که در سیستم های بی‌درنگ سخت وجود دارد، تحمیل میکند.

در این نوع سیستم، استفاده از هر نوع حافظه جانبی محدود میشود یا اصلاً مورد استفاده قرار نمیگیرد.

به جای آنها از حافظه موقت یا حافظه ROM (فقط خواندنی) برای ذخیره سازی داده ها استفاده میشود. همانطور که میدانید محتویات حافظه ROM با قطع جریان برق باقی میمانند.

از ویژگی های پیشرفته سیستم عامل نیز استفاده نمیشود؛ زیرا این ویژگی ها موجب میشوند تا کاربر از سخت افزار دورتر شود و در نتیجه زمان لازم برای اجرای یک عمل، قطعی نباشد.

بنابراین، سیستم های بلادرنگ سخت با سیستم های اشتراک زمانی تضاد دارند و نمی توانند با یکدیگر ترکیب شوند.

چون هیچکدام از سیستم های عامل همه منظوره موجود، از عملکرد بی‌درنگ سخت پشتیبانی نمیکنند.

۲. نرم (Soft Real-Time System):

در این نوع سیستم، اولویت کار بی‌درنگ از سایر کارها بیشتر است و تا اجرای کامل، این اولویت را دارد.

همانند سیستم بی‌درنگ سخت، در این نوع سیستم نیز تأخیرهای هسته (Kernel) باید حذف شوند.

کار بی درنگ را نمیتوان منتظر نگه داشت. سیستم بی‌درنگ نرم، قابل حصول است و با سیستم های دیگر نیز ترکیب میشود.

سیستم های بی‌درنگ صعیف، برنامه های سودمند محدودتری نسبت به سیستم های بلادرنگ سخت دارند.

با توجه به عدم پشتیبانی از مهلت زمانی در سیستم های بلادرنگ نرم، استفاده از آنها در کنترل صنعتی و روبات ها خطر ساز خواهد بود.

این نوع از سیستم های بی‌درنگ در مواردی مثل چند رسانه ای، واقعیت مجازی و پروژه های علمی پیشرفته مانند تجسس زیر دریا و سیارات مفید واقع خواهند شد.

این سیستم ها نیازمند ویژگی های پیشرفته سیستم عامل هستند که توسط سیستم های بی درنگ سخت پشتیبانی نمیشوند.

خدمات سیستم عامل بی‌درنگ

قلب هر سیستم عامل، هسته آن است. وظایف یک دستگاه همیشه نیاز به کنترل سخت افزاری ندارند. مدیریت و تخصیص منابع یکی از وظایف اصلی هسته است. از آنجاییکه وظایف همیشه به تمرکز CPU نیاز ندارند، هسته باید خدمات دیگری را هم ارائه دهد. این خدمات عبارتند از:

خدمات وقفه گردانی
خدمات زمانی
خدمات مدیریت دستگاه
خدمات مدیریت حافظه
خدمات ورودی – خروجی

پیام رسانی

پیام رسانی، ابزار ارتباط با سایر سیستم‌ها و ارتباط میان وظایف را فراهم می‌کند. خدمات پیام رسانی شامل موارد زیر باشد:

نشانبرها (Semaphores)
پرچم‌های رخداد
صندوق‌های پیام
پایپ‌ها
صف‌های پیام

نشانبرها برای همگام سازی دسترسی به منابع مشترک – مثل مناطق داده ای مشترک – مورد استفاده قرار می‌گیرند. پرچم‌های رخداد هم برای همگام سازی فعالیت‌های وظایف درونی سیستم کاربرد دارند. صندوق‌های پیام، پایپ‌ها و صف‌های پیام برای ارسال پیام بین وظایف مختلف مورد استفاده قرار می‌گیرند.


پست های توصیه شده