سیستم عامل بلادرنگ یا RTOS چیست؟

 

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

وقتی که سیستم عامل باید چند رویداد را به صورت همزمان مدیریت کند و مطمئن شود که سیستم به آن رویدادها در محدوده ی زمانی قابل پیش بینی پاسخ دهد سیستم عامل بلادرنگ نامیده می شود.

تفاوت اصلی بین OS و RTOS چیست؟

تفاوت بین OS (سیستم عامل) مانند ویندوز یا یونیکس و RTOS (سیستم عامل بلادرنگ) که در سیستم های امبدد یافت می شود، زمان پاسخگویی به رویدادهای خارجی است. سیستم عامل‌ها (OS) معمولاً پاسخی غیر قطعی نرم ارائه می‌دهند، که در آن هیچ تضمینی برای زمان تکمیل کار وجود ندارد، اما سعی می‌کنند به کاربر پاسخگو باقی بمانند. یک RTOS از این جهت متفاوت است که معمولاً یک پاسخ بلادرنگ سخت ارائه می‌کند و واکنشی سریع و بسیار قطعی به رویدادهای خارجی ارائه می‌کند.

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

قلب هر سیستم عامل ، هسته آن است .

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

این خدمات عبارتند از :

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

چرا باید از RTOS استفاده کنیم؟

فرض کنید بایستی مداری طراحی کنید که برای محافظت از جان انسان بر روی دستگاه صنعتی قرار می‌گیرد. برای مثال دستگاه برشی را در نظر بگیرید. شما بایستی مداری طراحی کنید. که با تشخیص دست انسان سریعا دستگاه را متوقف کند. و تیغه دستگاه را نگه دارد. در چنین سیستمی حتی چند لحظه تاخیر میتواند خسارت های جبران ناپذیری به بار آورد. ضرورت بلادرنگ (Real Time) بودن یک سیستم در چنین مواقعی مشخص میشود. از جمله کاربرد های دیگر RTOS میتوان به سیستم کیسه هوای ماشین اشاره نمود. که بسیار مهم است که به موقع عمل کند.  از دیگر مزایای RTOS میتوان به موارد زیر اشاره نمود.

قابلیت زمان بندی بر اساس اولویت یک ابزار بسیار قدرتنمد است که به پردازنده این اجازه میدهد وظایف مهم را سریع تر از وظایف غیر مهم انجام دهد.

استفاده از RTOS باعث میشود. کدنویسی بصورت ماژولار انجام شود. بنابراین توسعه و استفاده مجدد کد در آینده بسیار ساده تر خواهد بود.

بهره وری بهبود سیستم بسیار بهبود میابد.

و …

نحوه کارکرد سیستم عامل RTOS

زمانی که تصمیم می گیریم پروژه ای را بر مبنای RTOS پیاده سازی کنیم، لازمه با عینک و دنیا بینی RTOS به پروژه نگاه کنیم! در این حالت پروژه بزرگ به تعدادی پروژه کوچکتر شکسته می شه. هر کدام از پروژه های کوچکتر حکم یک ویژگی برای سیستم کلی را دارن. این ویژگی ها را می تونیم در لوپ (حلقه) های مجزا و مستقل از هم پیاده سازی کنیم. در اصطلاح سیستم عاملی به این لوپ های مجزا که هر کدام یک ویژگی سیستم را در بر دارد تسک (Task) گفته میشه.

  • در سیستم عامل RTOS می تونیم تسک ها رو با توجه به اهمیت اجرا اولویت بندی کنیم!
  • سیستم عامل RTOS بر پایه واحد زمان بندی کننده (scheduler) تسک ها رو زمانبندی می کند.
  • scheduler با توجه به اولویت تعیین شده برای تسک ها، جهت اجرا به تسک ها بودجه زمانی اختصاص می دهد.

در مقاله ای دیگر تحت عنوان استفاده از سیستم عامل RTOS در میکروکنترلرها روش کارکرد سیستم عامل با جزئیات خیلی بیشتری تشریح شده است. برای اطلاعات بیشتر حتما مقاله را مشاهده نمایید.

پیام رسانی

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

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

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

منابع

mester-compute

digighate

Mimtech

Digispark

Easymcu

blog.eca

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *