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

مقدمه

سیستم عاملهای بلادرنگ (Real time system) نوعی سیستم عامل است که در آن، زمان، پارامتر کلیدی است. برای مثال در سیستم‌های  کنترل فرایند،رایانه های بی‌درنگ باید داده‌های فرآیند تولید را جمع‌آوری کرده و به کمک آن ماشینهای داخل کارخانه را کنترل کنند.
سیستم‌ هایی که آزمایش‌های علمی را کنترل می‌کنند،سیستم‌های تصویربرداری پزشکی، سیستم های کنترل صنعتی، کنترلرهای لوازم خانگی و سیستم های جنگ افزاری، سیستم‌های بی‌درنگ هستند.

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

عبارت «بلادرنگ» (به انگلیسی: Real-time) یعنی: اتفاقی که بدون تأخیر قابل‌توجه و در همان لحظه‌ی وقوع انجام می‌شود. وقتی می‌گوییم چیزی «بلادرنگ» است، یعنی نتیجه بلافاصله بعد از رخ دادن رویداد نمایش داده یا پردازش می‌شود.

چند مثال واقعی:

مثال توضیح
 چت آنلاین وقتی پیام می‌فرستی و فوراً طرف مقابل می‌بیند — ارتباط بلادرنگ است.
 بورس و ارز دیجیتال قیمت‌ها در لحظه به‌روزرسانی می‌شوند — دادهٔ بلادرنگ.
 GPS موقعیت تو را در همان لحظه روی نقشه نشان می‌دهد — مکان‌یابی بلادرنگ.
 بازی‌های آنلاین حرکات بازیکن‌ها هم‌زمان نمایش داده می‌شود — تعامل بلادرنگ.

در دنیای برنامه‌نویسی:

بلادرنگ معمولاً یعنی داده یا رویدادها به‌محض تغییر در سرور، به کلاینت ارسال می‌شوند.

مثلاً در Django:

  • وقتی از WebSocket یا Channels استفاده می‌کنی، می‌تونی اعلان‌ها یا چت را بلادرنگ بسازی.

  • در مقابل، وقتی از HTTP معمولی استفاده می‌کنی، باید صفحه را refresh کنی تا تغییرات دیده شوند.


 مقایسه کوتاه:

نوع سیستم زمان واکنش مثال
بلادرنگ (Real-time) بلافاصله یا چند میلی‌ثانیه پیام‌رسان، بازی آنلاین
غیر بلادرنگ (Batch / Delay) با تأخیر چند ثانیه تا چند دقیقه ایمیل، گزارش روزانه، فرم‌های وب معمولی

مفهوم سیستم عاملهای بلادرنگ (Real time system)

سيستم بلادرنگ، يك سيستم نرم‌افزاري است كه درون يك دستگاه قرار گرفته است. ما اين دستگاه را مستقيما نمي‌توانيم ببينيم چون از اين دستگاه بايد به صورت توكار، در جاهاي مختلف استفاده كرد، يعني مثلا در اتاق خلبان درون هواپيما، ما نمي‌توانيم اين دستگاه را مستقيما ببينيم بلكه اين دستگاه درون تجهيزات موجود در اتاق خلبان كار گذاشته مي‌شود و با تمام تجهيزات موجود، در ارتباط است.

مشخصات RTOS

  • قطعی بودن
  • پاسخدهی
  • کنترل کاربر
  • قابلیت اطمینان
  • نرمش با خطا

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

سیستمهای  Real-time به دو دسته  تقسیم می شوند :

بلادرنگ سخت ( Hard Real-time)

بلادرنگ نرم      (Soft Real-time)

بلادرنگ سخت سیستمی است که در یک مهلت زمانی یا پاسخ میدهد یا هیچ. مانند سیستم مانیتورینگ بخش  I.C.U یک بیمارستان ، سیـستم هـای کنتـرل صـنعتی، موشکها، ماهواره ها…

سیستم بلادرنگ نرم، سیستمی است که در بعضی از مواقع آماده نشدن پاسخ در مهلت زمانی تعیین شده قابل تحمل است مانند Multimedia

کنترلهای بی درنگ

در بحث بيدرنگ دو مفهوم اساسی فرآيند و فرآيند صنعتی تعريف ميشود:
فرآيند: عبارتست از كليه فعاليتهای يك سيستم كه بر يكديگر اثر گذاشته و با آن ماده، انرژی يا اطلاعات را تبديل، منتقل يا ذخيره می كند.
فرآيند صنعتی: فرايندی است كه كميتهای فيزيكی آن را بتوان با وسايل فنی بدست آورد و تحت تأثير قرار داد. فرآيند صنعتي را ميتوان به فرآيندهاي توليدي، توزيعي، ذخيره اي طبقه بندي كرد.

براي نگهداري فرآيند در يك حالت دلخواه بايد آن را مطابق با قوانين معيني كنترل كرد اين قوانين بوسيله سيستم كنترلي ايجاد ميشود كه ممكن است اپراتوري (دستي)، خودكار يا تركيبي از اين دو باشد .دليل استفاده از سيستمهاي كنترل كامپيوتري اين است كه بسيار قابل اعتماد، دقيق و ارزان هستند.

عناصر سخت افزاري يك سيستم بيدرنگ
سیستم های عاملهای بلادرنگ(Real time system)

 بلادرنگ(Real time system)

وظایف RTOS

سيستم عامل دارای وظايف زير است :

۱٫ مديريت پردازنده
۲٫ مديريت حافظه
۳٫ مديريت دستگاهها ( ورودی و خروجی )
۴٫ مديريت حافظه جانبی
۵٫ اينترفيس برنامه های کاربردی
۶٫ رابط کاربر
وظايف شش گانه فوق ، هسته عمليات در اکثر سيستم های عامل است .

مديريت پردازنده 

مديريت پردازنده دو وظيفه مهم اوليه زير را دارد :

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

•  مديريت حافظه و فضای ذخيره سازی در RTOS

سيستم عامل در رابطه با مديريت حافظه دو عمليات اساسی را انجام خواهد داد:

• هر پردازه بمنظور اجراء می بايست دارای حافظه مورد نياز و اختصاصی خود باشد .
• از انواع متفاوتی حافظه در سيستم استفاده تا هر پردازه قادر به اجراء با بالاترين سطح کارآئی باشد.

مديريت دستگاهها در RTOS



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

مثلا درايورها اطلاعاتی را که سيستم عامل بصورت يک فايل تعريف و در نظر می گيرد را اخذ و آنها را به مجموعه ای از بيت ها برای ذخيره سازی بر روی حافظه های حانبی و يا مجموعه ای از پالس ها برای ارسال بر روی چاپگر ، ترجمه خواهند کرد.

در حالت كلي براي سيستم‌هاي بلادرنگ سه مرحله مورد بررسي است:

۱ . زمانبندي  Scheduling
.۲برنامه‌نويسي Programming
.۳بازبيني        Verification

زمان بندی در RTOS

در یک سیستم بلادرنگ رویدادهایی رخ می دهد ؛ برنامه به تعدادی پروسس تقسیم می شود و هر پروسس برای پاسخگویی به یک نوع رویداد است.

رویدادهاي قابل پاسخگوئی در سیستم بلادرنگ به دو بخش زیر تقسیم میشود :

وقایع   :
متناوب       Periodic

غیر متناوب     Aperiodic

رویداد متناوب با دوره تناوب مشخص تکرار می شوند .

رویداد غیر متناوب به صورت تصادفی رخ می دهند ( زمان رخ داد مشخصی ندارند)

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

برنامه‌نويسی در RTOS


تمامی سيستم‌های بلادرنگ، داراي يك نرم‌افزار بلادرنگ هستند و اين نرم‌افزار به وسيله يك زبان برنامه‌نويسی خاص تهيه می شود، در واقع يكی از راه‌های ايمن‌سازی سيستم‌ها، انتخاب زبان برنامه‌نويسی مناسب است. عموما از ويژگی هاب اين زبان‌ها شامل سادگی ، خوانایی، بدون ابهام بودن، ايمن بودن، مستقل از زمان بودن و قابل حمل بودن است.

همانطور كه گفته شد اين زبان‌ها بايستی بتوانند بلادرنگ عمل كنند و در نتيجه هر زبانی برای اين كار مناسب نيست و در اينجا نمونه‌هايی از زبان‌های برنامه‌سازی بلادرنگ كه از ابتدا تاكنون مورد استفاده قرار گرفته و می گيرد را مشاهده می كنيد: Ada، Real-time Java، C، Erlang، Esterel، Real-time Euclid، Posix، Lustre، SAFL Statecharts، Chill، Modula-2، Mesa، FRP، RTL/2، Coral 66، Jovial و … است.

بازبيني در RTOS

برايی بازبينيی سيستم‌ عاملهای بلادرنگ از ابزاری به نام Uppaal  استفاده می شود كه ابزاری برای كنترل كردن سيستم بلادرنگ است که آن را به صورت مدل نشان می دهد. در تصویر بالا محيط كار اين ابزار مشخص شده است.

نتیجه گیری

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


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

We are glad you have chosen to leave a comment. Please keep in mind that comments are moderated according to our comment policy.