مقدمه
سیستم عاملهای بلادرنگ (Real time system) نوعی سیستم عامل است که در آن، زمان، پارامتر کلیدی است. برای مثال در سیستمهای کنترل فرایند،رایانه های بیدرنگ باید دادههای فرآیند تولید را جمعآوری کرده و به کمک آن ماشینهای داخل کارخانه را کنترل کنند.
سیستم هایی که آزمایشهای علمی را کنترل میکنند،سیستمهای تصویربرداری پزشکی، سیستم های کنترل صنعتی، کنترلرهای لوازم خانگی و سیستم های جنگ افزاری، سیستمهای بیدرنگ هستند.
سیستم بلادرنگ، یک سیستم نرمافزاری است که درون یک دستگاه قرار گرفته است. ما این دستگاه را مستقیما نمیتوانیم ببینیم چون از این دستگاه باید به صورت توکار، در جاهای مختلف استفاده کرد، یعنی مثلا در اتاق خلبان درون هواپیما، ما نمیتوانیم این دستگاه را مستقیما ببینیم بلکه این دستگاه درون تجهیزات موجود در اتاق خلبان کار گذاشته میشود و با تمام تجهیزات موجود، در ارتباط است.
مشخصات سیستم عاملهای بلادرنگ
انواع سیستم های بلادرنگ
سیستمهای Real-time به دو دسته تقسیم می شوند :
بلادرنگ سخت ( Hard Real-time)
بلادرنگ نرم (Soft Real-time)
بلادرنگ سخت سیستمی است که در یک مهلت زمانی یا پاسخ میدهد یا هیچ. مانند سیستم مانیتورینگ بخش I.C.U یک بیمارستان ، سیـستم هـای کنتـرل صـنعتی، موشکها، ماهواره ها…
سیستم بلادرنگ نرم، سیستمی است که در بعضی از مواقع آماده نشدن پاسخ در مهلت زمانی تعیین شده قابل تحمل است مانند Multimedia
در بحث بیدرنگ دو مفهوم اساسی فرآیند و فرآیند صنعتی تعریف میشود:
• فرآیند: عبارتست از کلیه فعالیتهای یک سیستم که بر یکدیگر اثر گذاشته و با آن ماده، انرژی یا اطلاعات را تبدیل، منتقل یا ذخیره می کند.
• فرآیند صنعتی: فرایندی است که کمیتهای فیزیکی آن را بتوان با وسایل فنی بدست آورد و تحت تأثیر قرار داد. فرآیند صنعتی را میتوان به فرآیندهای تولیدی، توزیعی، ذخیره ای طبقه بندی کرد.
برای نگهداری فرآیند در یک حالت دلخواه باید آن را مطابق با قوانین معینی کنترل کرد این قوانین بوسیله سیستم کنترلی ایجاد میشود که ممکن است اپراتوری (دستی)، خودکار یا ترکیبی از این دو باشد .دلیل استفاده از سیستمهای کنترل کامپیوتری این است که بسیار قابل اعتماد، دقیق و ارزان هستند.
عناصر سخت افزاری یک سیستم بیدرنگ
سیستم عامل دارای وظایف زیر است :
۱٫ مدیریت پردازنده
۲٫ مدیریت حافظه
۳٫ مدیریت دستگاهها ( ورودی و خروجی )
۴٫ مدیریت حافظه جانبی
۵٫ اینترفیس برنامه های کاربردی
۶٫ رابط کاربر
وظایف شش گانه فوق ، هسته عملیات در اکثر سیستم های عامل است .
مدیریت پردازنده
مدیریت پردازنده دو وظیفه مهم اولیه زیر را دارد :
• ایجاد اطمینان که هر پردازه و یا برنامه به میزان مورد نیاز پردازنده را برای تحقق عملیات خود ، اختیار خواهد کرد.
• استفاده از بیشترین سیکل های پردازنده برای انجام عملیات
سیستم عامل در رابطه با مدیریت حافظه دو عملیات اساسی را انجام خواهد داد:
• هر پردازه بمنظور اجراء می بایست دارای حافظه مورد نیاز و اختصاصی خود باشد .
• از انواع متفاوتی حافظه در سیستم استفاده تا هر پردازه قادر به اجراء با بالاترین سطح کارآئی باشد.
دستیابی سیستم عامل به سخت افزارهای موجود از طریقه برنامه های خاصی با نام “درایور” انجام می گیرد. درایور مسئولیت ترجمه بین سیگنال های الکترونیکی زیر سیستم های سخت افزاری و زبانهای برنامه نویسی سطح بالا و سیستم عامل و برنامه های کاربردی را برعهده خواهد داشت . مثلا درایورها اطلاعاتی را که سیستم عامل بصورت یک فایل تعریف و در نظر می گیرد را اخذ و آنها را به مجموعه ای از بیت ها برای ذخیره سازی بر روی حافظه های حانبی و یا مجموعه ای از پالس ها برای ارسال بر روی چاپگر ، ترجمه خواهند کرد.
در حالت کلی برای سیستمهای بلادرنگ سه مرحله مورد بررسی است:
۱ . زمانبندی Scheduling
.۲برنامهنویسی Programming
.۳بازبینی Verification
در یک سیستم بلادرنگ رویدادهایی رخ می دهد ؛ برنامه به تعدادی پروسس تقسیم می شود و هر پروسس برای پاسخگویی به یک نوع رویداد است.
رویدادهای قابل پاسخگوئی در سیستم بلادرنگ به دو بخش زیر تقسیم میشود :
وقایع :
متناوب Periodic
غیر متناوب 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 استفاده می شود که ابزاری برای کنترل کردن سیستم بلادرنگ است که آن را به صورت مدل نشان می دهد. در تصویر بالا محیط کار این ابزار مشخص شده است.
نتیجه گیری
در برخی کاربردها (مثل کنترل صنعتی)در کامپیوترها از سیستم عامل استفاده نمیشود. از آنجا که در سیستمهای کنترل صنعتی برنامه میبایست در اسرع وقت در مقابل یک اتفاق، از خود عکس العمل نشان دهد، وجود واسطه سیستم عامل باعث کند شدن مراحل میگردد.