مقدمه
سیستم عامل بلادرنگ نوعی سیستم عامل است که در آن، زمان، پارامتر کلیدی است. برای مثال در سیستمهای کنترل فرایند،رایانه های بیدرنگ باید دادههای فرآیند تولید را جمعآوری کرده و به کمک آن ماشینهای داخل کارخانه را کنترل کنند.
سیستمهایی که آزمایشهای علمی را کنترل میکنند،سیستمهای تصویربرداری پزشکی، سیستم های کنترل صنعتی، کنترلرهای لوازم خانگی و سیستم های جنگ افزاری، سیستمهای بیدرنگ هستند.
سیستم های بلادرنگ
سیستمعامل بلادرنگ بر پایه Unix که توسط شرکت LynuxWorks ارائه میشود. این سیستم عامل منطبق با استاندارد POSIX و سازگار با Linux میباشد و دارای ویژگی چند نخی است و برای کاربردهای بیدرنگ پیچیده ای که نیاز به پاسخگوییهای سریع و قطعی دارند، طراحی شدهاست. نوعی سیستمعامل است که در آن، زمان، پارامتر کلیدی است
زمانی از یک سیستم بیدرنگ استفاده میشود که لازم باشد عملیات پردازنده یا جریان داده در زمان کاملاً مشخصی انجام شود؛ بنابراین یک سیستم بیدرنگ اغلب بهعنوان ابزار کنترلی در یک کاربرد خاص استفاده میشود.
سیستمهایی که آزمایشهای علمی را کنترل میکنند، سیستمهای تصویربرداری پزشکی، سیستمهای کنترل صنعتی، و نیز برخی از موتورهای انژکتوری در خودرو، کنترلرهای لوازم خانگی و سیستمهای جنگافزاری، سیستمهای بیدرنگ هستند. این سیستمها برای آنکه بهدرستی کار کنند باید پاسخ درست را در فرجه زمانی از پیش تعیین شده بازگردانند.
مشخصات سیستم عاملهای بلادرنگ
- قطعی بودن
- پاسخدهی
- کنترل کاربر
- قابلیت اطمینان
- نرمش با خطا
کارکردهای اصلی سیستم عامل درنگ
- زمانبندی
- خدمات RTOS
- هماهنگ سازی و پیام رسانی
زمانبندی :
به طور کلی وظایف یک دستگاه ، سه حالت دارند :
آماده اجرا : وقتی وظیفه ای تمام منابع و پیش فرضهای لازم برای اجرا را دارد اما هنوز اجرا نشده است ، آماده اجرا نام میگیرد . در واقع این حالت نقطه شروع قبل از اجرا میباشد .
در حال اجرا : این حالت به وظایفی اطلاق میشود که در حال انجام و پیاده سازی هستند .
مسدود : وقتی یک وظیفه منابع و پیش فرضهای کافی برای اجرا را در اختیار نداشته باشد ، در حالت مسدود قرار میگیرد .
برای زمانبندی یک وظیفه ، از سه تکنیک استفاده میشود :
زمانبندی مشارکتی (Co-operative) : در این تکنیک وقتی پیاده سازی یک وظیفه کامل شود ، وظیفه اجرا خواهد شد .
زمانبندی نوبت گردشی (Round Robin) : در این روش ، یک مسیر یا بازه زمانی ثابت به هر وظیفه اختصاص داده می شود که پیاده سازی باید در طی آن زمان کامل شود . در غیر این صورت وظیفه جریان و دادههای تولید شده را از دست میدهد و برای اجرا باید منتظر نوبت بعدی اش بماند .
زمانبندی پیشگیرانه (Preemptive) : در این روش ، بسته به زمان تخصیص داده شده ، اولویت وظیفه ها مشخص میشوند . در برنامهها معمولاً 256 سطح اولویت مورد استفاده قرار میگیرد . به این ترتیب به هر وظیفه یک سطح اولویت خاص اختصاص داده میشود . البته برخی از سیستم ها از سطوح اولویت بیشتری حمایت میکنند و چند وظیفه ای ها هم از اولویت یکسانی برخوردارند .
خدمات سیستم عامل بی درنگ :
قلب هر سیستم عامل ، هسته آن است .
وظایف یک دستگاه همیشه نیاز به کنترل سخت افزاری ندارند . مدیریت و تخصیص منابع یکی از وظایف اصلی هسته است . از آنجایی که وظایف همیشه به تمرکز CPU نیاز ندارند ، هسته باید خدمات دیگری را هم ارائه دهد .
این خدمات عبارتند از :
خدمات وقفه گردانی
خدمات زمانی
خدمات مدیریت دستگاه
خدمات مدیریت حافظه
خدمات ورودی – خروجی
پیام رسانی :
پیام رسانی ، ابزار ارتباط با سایر سیستم ها و ارتباط میان وظایف را فراهم میکند .
خدمات پیام رسانی شامل موارد زیر باشد :
نشان برها (Semaphores)
پرچم های رخداد
صندوق های پیام
پایپ ها
صف های پیام
نشان برها برای همگام سازی دسترسی به منابع مشترک ( مثل مناطق داده ای مشترک ) مورد استفاده قرار میگیرند .
پرچم های رخداد هم برای همگام سازی فعالیت های وظایف درونی سیستم کاربرد دارند .
صندوق های پیام ، پایپ ها و صف های پیام برای ارسال پیام بین وظایف مختلف مورد استفاده قرار میگیرند .
انواع سیستم های بلادرنگ
سیستمهای Real-time به دو دسته تقسیم می شوند :
بلادرنگ سخت ( Hard Real-time)
بلادرنگ نرم (Soft Real-time).
بلادرنگ سخت سیستمی است که در یک مهلت زمانی یا پاسخ میدهد یا هیچ. مانند سیستم مانیتورینگ بخش I.C.U یک بیمارستان ، سیـستم هـای کنتـرل صـنعتی، موشکها، ماهواره ها…
بلادرنگ نرم سیستمی است که در بعضی از مواقع ،آماده نشدن پاسخ در مهلت زمانی تعیین شده قابل تحمل است مانندMultimedia
تفاوت سیستم عامل های بلادرنگ با سیستم عامل های عمومی:
سیستم عاملا بلادرنگ را در چهار مشخصه زیر با سیستم عامل عمومی مقایسه شده است:
Determinism
تفاوت اصلی سیستم عامل های بلادرنگ با سیستم عاملهای عمومی ویژگی Determinism آنها است. در این مبحث Determinism به معنای مشخص بودن دقیق مدت زمان اجرای هر تسک است. در سیستم عامل های بلادرنگ همواره بیشترین مدت زمان اجرای هر تسک مشخص است. ولی در سیستم عامل های عمومی مدت زمان اجرای هر تسک مهم نیست.
مدیریت تسکها
سیستم عاملهای عمومی طوری طراحی میشوند تا چندین تسک مختلف بصورت همزمان اجرا شوند. لذا کلیه تسکها بدون توجه به اولویت آنها اجرا میشوند. لذا ممکن است تسکی با اولویت پایین به تسک با اولویت بالاتر مقدم شود.
ولی در سیستم عامل های بلادرنگ هر گاه یک تسک با اولویت بالاتر نیاز به سخت افزار داشته باشد، تسک در حال اجرا متوقف شده و تسک با اولویت بالاتر کنترل سخت افزار بعهده میگیرد. هر تسک در سیستم عامل های بلادرنگ دارای مشخصه اولویت است. Scheduler از این تسکهایی که در حالت کاری Ready قرار دارند.
کرنل Preemptive
سیستم عامل های بلادرنگ بصورت Preemptive هستند بطوریکه وقتی یک تسک با اولویت بالاتر نیاز به اجرا داشته باشد، تسک با اولویت پایین متوقف شده و تسک با اولویت بالاتر اجرا میشود. این امر موجب میشود که سیستم به رویدادهای مهم، سریع پاسخ دهد.
کاربرد
سیستم عامل های بلادرنگ غالبا در سیستمهای Embedded استفاده میشوند ولی سیستم عاملهای عمومی در کامپیوترهای شخصی و دیگر کامپیوترهایی که استفاده همه منظوره دارند، استفاده میشوند
VxWorks
Windows CE
VRTX
LynxOS
QNX
RTLinux
eCos
از انواع سیستم های بلادرنگ میباشند.
منبع: آسان رایان
شرکت آسان رایان ارائه دهنده انواع هاست و بهترین بستر برای ثبت دامنه های خاص شما
با ما همراه باشید