مقدمه
سيستم عامل بلادرنگ نوعي سيستم عامل است كه در آن، زمان، پارامتر كليدي است. براي مثال در سيستمهاي كنترل فرايند،رايانه هاي بيدرنگ بايد دادههاي فرآيند توليد را جمعآوري كرده و به كمك آن ماشينهاي داخل كارخانه را كنترل كنند.
سيستمهايي كه آزمايشهاي علمي را كنترل ميكنند،سيستمهاي تصويربرداري پزشكي، سيستم هاي كنترل صنعتي، كنترلرهاي لوازم خانگي و سيستم هاي جنگ افزاري، سيستمهاي بيدرنگ هستند.
سيستم هاي بلادرنگ
سيستمعامل بلادرنگ بر پايه 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
از انواع سيستم هاي بلادرنگ ميباشند.
شركت آسان رايان ارائه دهنده انواع هاست و بهترين بستر براي ثبت دامنه هاي خاص شما
با ما همراه باشيد
- ۱۸ بازديد
- ۰ نظر