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

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


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

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

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


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

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

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

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

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

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

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

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

عناصر سخت افزاري يك سيستم بيدرنگ
Captu,re

Captu,,re

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

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

  1. مديريت پردازنده
  2. مديريت حافظه
  3. مديريت دستگاهها ( ورودی و خروجی )
  4. مديريت حافظه جانبی
  5. اينترفيس برنامه های کاربردی
  6. رابط کاربر

وظايف شش گانه فوق، هسته عمليات در اکثر سيستم های عامل است.

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

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

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

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

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

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

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

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

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

  1. زمانبندي  Scheduling
  2. برنامه‌نويسي Programming
  3. بازبيني        Verification

زمانبندی


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

  1. وقایع متناوب: Periodic
  2. غیر متناوب     Aperiodic

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

برنامه‌نويسي


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

بازبيني


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

نتیجه گیری

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