مقدمه
سیستم عاملهای بلادرنگ (Real time system) نوعی سیستم عامل است که در آن، زمان، پارامتر کلیدی است. برای مثال در سیستمهای کنترل فرایند،رایانه های بیدرنگ باید دادههای فرآیند تولید را جمعآوری کرده و به کمک آن ماشینهای داخل کارخانه را کنترل کنند.
سیستم هایی که آزمایشهای علمی را کنترل میکنند،سیستمهای تصویربرداری پزشکی، سیستم های کنترل صنعتی، کنترلرهای لوازم خانگی و سیستم های جنگ افزاری، سیستمهای بیدرنگ هستند.
عبارت «بلادرنگ» (به انگلیسی: Real-time) یعنی: اتفاقی که بدون تأخیر قابلتوجه و در همان لحظهی وقوع انجام میشود. وقتی میگوییم چیزی «بلادرنگ» است، یعنی نتیجه بلافاصله بعد از رخ دادن رویداد نمایش داده یا پردازش میشود.
| مثال | توضیح |
|---|---|
| چت آنلاین | وقتی پیام میفرستی و فوراً طرف مقابل میبیند — ارتباط بلادرنگ است. |
| بورس و ارز دیجیتال | قیمتها در لحظه بهروزرسانی میشوند — دادهٔ بلادرنگ. |
| GPS | موقعیت تو را در همان لحظه روی نقشه نشان میدهد — مکانیابی بلادرنگ. |
| بازیهای آنلاین | حرکات بازیکنها همزمان نمایش داده میشود — تعامل بلادرنگ. |
بلادرنگ معمولاً یعنی داده یا رویدادها بهمحض تغییر در سرور، به کلاینت ارسال میشوند.
مثلاً در Django:
وقتی از WebSocket یا Channels استفاده میکنی، میتونی اعلانها یا چت را بلادرنگ بسازی.
در مقابل، وقتی از HTTP معمولی استفاده میکنی، باید صفحه را refresh کنی تا تغییرات دیده شوند.
| نوع سیستم | زمان واکنش | مثال |
|---|---|---|
| بلادرنگ (Real-time) | بلافاصله یا چند میلیثانیه | پیامرسان، بازی آنلاین |
| غیر بلادرنگ (Batch / Delay) | با تأخیر چند ثانیه تا چند دقیقه | ایمیل، گزارش روزانه، فرمهای وب معمولی |
سيستم بلادرنگ، يك سيستم نرمافزاري است كه درون يك دستگاه قرار گرفته است. ما اين دستگاه را مستقيما نميتوانيم ببينيم چون از اين دستگاه بايد به صورت توكار، در جاهاي مختلف استفاده كرد، يعني مثلا در اتاق خلبان درون هواپيما، ما نميتوانيم اين دستگاه را مستقيما ببينيم بلكه اين دستگاه درون تجهيزات موجود در اتاق خلبان كار گذاشته ميشود و با تمام تجهيزات موجود، در ارتباط است.
انواع سیستم های بلادرنگ
سیستمهای 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 استفاده می شود كه ابزاری برای كنترل كردن سيستم بلادرنگ است که آن را به صورت مدل نشان می دهد. در تصویر بالا محيط كار اين ابزار مشخص شده است.
نتیجه گیری
در برخی کاربردها (مثل کنترل صنعتی)در کامپیوترها از سیستم عامل استفاده نمیشود. از آنجا که در سیستمهای کنترل صنعتی برنامه میبایست در اسرع وقت در مقابل یک اتفاق، از خود عکس العمل نشان دهد، وجود واسطه سیستم عامل باعث کند شدن مراحل میگردد.