سامانه های عامل تجاری در فضا

تجهیزات و برنامه های کاربردی در حوزة فضا, فقط به سخت افزارها و نرم افزارهایی که به صورت ویژه و خاص تولید شده اند, ختم نمی شوند

تجهیزات و برنامه‌های کاربردی در حوزة فضا، فقط به سخت‌افزارها و نرم‌افزارهایی که به صورت ویژه و خاص تولید شده‌اند، ختم نمی‌شوند. سخت‌افزارها و نرم افزارهای تجاری در دسترس، در سالهای اخیر احتیاجات و ملزومات حیاتی این سامانه‌‌ها را نیز به طور گسترده‌ای برآورده کرده‌اند. یکی از اجزاء نرم‌افزاری که بطور قطع در حال باز کردن راه خود به پروژه‌های فضایی است، سامانةعامل بلادرنگ است. صرف نظر از کاهش هزینة‌ توسعه و ارزیابی، سامانه‌های‌عامل تجاری در دسترس، دارای انعطاف پذیری لازم برای پیروزی در نبرد بین تغییرات سریع فنّاوری و پایداری مورد نیاز برنامه‌های کاربردی فضایی‌‌اند.

● کاربردهای فضایی

برنامه‌های کاربردی فضایی را می‌توان به دو بخش برنامه‌های زمینی و برنامه‌هایی که در فضاپیما یا ماهواره کار می‌کنند، تقسیم نمود. سامانه‌های زمینی پشتیبانی عملکردی را برای ماموریت‌های فضایی فراهم می‌نمایند. بخش پشتیبانی زمینی ممکن است شامل یک برنامة اصلی پیکربندی، محیط‌های توسعه نرم‌افزار[۴]، محیط‌های شبیه‌سازی و پشتیبانی آزمون باشد. بسته به نوع ملزومات فضاپیما و مأموریت، برنامه‌های کاربردی بخش زمینی قادرند سرویس‌های عملیاتی متفاوتی ارائه دهند. برای مثال، مراکز کنترل ماهواره فعالیت‌های مختلفی از قبیل پایش ماهواره، کنترل فنی، کنترل وضعیت و مدار، سرویس‌های مربوط به محموله و ارزیابی دقیق عملکرد ماهواره را انجام می‌دهند.

برنامه‌های بخش فضایی وظیفة پایش، کنترل و جمع‌آوری داده‌ها از سامانه‌های باس[۵] فضاپیما و محموله (تصویر برداری، مخابراتی و . . . ) را بر عهده دارند. نمونه‌‌ای از سامانه‌های فضایی تعبیه شده روی بورد[۶]، نرم‌افزارهای کاربردی جاسازی شده[۷] برای ماهواره است. نرم‌افزارهای تعبیه‌شده روی بورد که بر تجهیزات ماهواره و محموله نظارت دارند، ماهواره را قابل مشاهده و کنترل نموده و در صورت وقوع خطا و نقص فنی از آن محافظت می‌نمایند. وظایف اصلی سامانه رایانه‌ای تعبیه‌شده روی بورد ماهواره عبارتند از:

ـ پایش و کنترل عملکرد و سلامتی ماهواره

ـ زمانبندی و پشتیبانی محموله

ـ کنترل وضعیت و مدار

ـ داده گردانی[۸]

ـ پشتیبانی سامانة پردازش

ـ پشتیبانی سامانة ارتباطی

در حوزة فناوری فضایی، بخش‌های بلادرنگ و بحرانی زیادی در سامانه‌هایی که در ماموریت‌های فضایی طولانی مدت یا سرنشین‌دار مورد استفاده قرار می‌گیرند، وجود دارد. موارد زیر نمونه‌هایی از این کاربردهایند:

ـ فضاپیماهای خودگردان[۹] ( مثل فضاپیمای رزتا[۱۰] که ده سال به سمت هدفش پرواز خواهد نمود) و کاوشگرهای تحقیقاتی با عمر طولانی ( مثل کاوشگر هویگنس[۱۱] که در سال ۱۹۹۷ پرتاب شد تا در سال ۲۰۰۴ بر سطح تایتان فرود آید)؛

ـ سامانه‌های فضایی که نسبت به شرایط محیطی سخت، مقاوم‌اند ( مثل بازوی روبات فضایی اروپا)؛

ـ سامانه‌های اتوماتیکی که با سامانه‌های سرنشین‌دار ملاقات می‌کنند ( مثل وسایل نقلیة اتوماتیک فضایی)؛

ـ وسایل نقلیه فضایی و ایستگاه‌های سرنشین‌دار؛

ـ پرتابگرهای فضاپیماهای سرنشین‌دار.

● تعاریف

▪ سامانةعامل (OS) : نرم‌افزاری است که منابع سامانه رایانه‌ای را مدیریت می‌نماید و رابط‌های مناسب را برای دسترسی برنامه‌نویسان و کاربران سامانه از این منابع، در اختیار آن‌ها قرار می‌دهد. یک سامانةعامل وظایف اصلی شامل کنترل و تخصیص حافظه، اولویت‌بندی درخواست‌های سامانه، کنترل و مدیریت تجهیزات ورودی و خروجی، راه‌اندازی و تسهیل ارتباط با شبکه و مدیریت فایل‌ها را بر عهده دارد.

▪ سامانةعامل بلادرنگ (RTOS) : سامانه‌ای چندوظیفه‌ای[۱۲] است که برای استفاده در سامانه‌های بلادرنگ طراحی شده ‌است. منظور از سامانة بلادرنگ، سامانه‌ای است که سرویس‌های آن دارای زمان‌بندی قطعی و معین‌‌اند. به عبارت دیگر، یک سامانةعامل بلادرنگ، سامانةعاملی است که سرویس‌های آن زمان مشخص و پیش‌بینی شده‌ای را برای اجرا صرف می‌نمایند؛ و این به معنی اجرای حتمی وظایف محوله به سامانه‌، در زمان مشخص شده است. نمونة این نوع سامانه‌ها در ربات‌ها و کنترل‌گرهای صنعتی و فضاپیماها قابل مشاهده‌‌اند.

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

● معیارهای انتخاب یک سامانةعامل‌ بلادرنگ تجاری در دسترس

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

برای مثال، یکی از نیازهای ویژة سامانةعامل مناسب برای کاربرد فضایی، پایداری آن است؛ به طوری که سامانه باید برای مدت طولانی (مثلا برای ۱۵ سال) قادر به ادامة فعالیت باشد. این شرطی پیچیده است و دربرگیرندة معیارهای زیادی از قبیل تطابق با استانداردها، قابلیت پیکربندی، محیط توسعة مناسب و ثبات تجاری تولید کننده. در ادامه معیارهای انتخاب یک سامانةعامل بلادرنگ تجاری و در دسترس برای کاربردهای فضایی مورد بررسی قرار می‌گیرند.

۱) سخت افزار

معمولاً مشتریان بالقوة یک سامانةعامل بلادرنگ به ندرت امکان انتخاب سخت افزاری را که قرار است سامانةعامل روی آن اجرا شود، دارند. بنابراین، در دسترس بودن سامانةعامل بلادرنگی که روی سخت افزار خاص مورد نظر ( برای مثال، رایانة تعبیه شده روی بورد رایج و استاندارد ERC-۳۲، که اسپارک[۱۳] نوع مقاوم شدة آن ‌در برابر تشعشعات است) کارکند، از مهمترین معیارهای انتخاب یک زیرمجموعة اولیه از سامانه‌های‌عامل‌ است.

راه‌اندازهای تجهیزات[۱۴]، ارتباط با سخت افزارهایی را که سیستم عامل از آنها پشتیبانی نمی‌کند، فراهم می‌کنند. بر این اساس، برای درست عمل کردن تجهیزات مورد نظر، هستة مرکزی۱۵ سامانةعامل بلادرنگ باید راه‌اندازهای سخت‌افزارها را پشتیبانی نماید.

البته امکان خرید برخی از راه اندازها ( مثل راه انداز اترنت[۱۵]) از فروشندگان متفاوت، هست؛ ولی سامانةعامل بلادرنگ باید آنها را بشناسد. اغلب لازم است که توسعه‌دهندگان سامانه‌، راه اندازهای تجهیزات برای سخت افزارهای غیر استاندارد را تهیه کنند. به همین دلیل، امکانات لازم برای اضافه نمودن این راه اندازها به صورت یکپارچه به سامانةعامل، دارای اهمیت زیادی است.

برخی از فروشندگان سامانه‌های‌عامل بلادرنگ، بسته‌های پشتیبانی از بورد۱۷ را به شکل مجموع برنامه‌های کتابخانه‌ای ارائه می‌دهند؛ که یک رابط نرم‌افزاری را برای دسترسی به امکانات سخت‌افزاری بورد در اختیار می‌گذارد. این برنامه‌ها ممکن است شامل امکاناتی برای شناسایی سخت افزار، مدیریت وقفه‌ها۱۸، زمان سنج سخت افزاری و مدیریت زمان باشند.

۲) طراحی

سامانةعامل می‌تواند بصورت یکپارچه (یک نرم‌افزار یکپارچه با تعداد زیادی ماژول که باهم در ارتباط‌‌اند)، لایه‌ای و یا سرویس‌ده-سرویس‌گیر۱۹ طراحی شود. یک هستة مرکزی کوچک به همراه مجموعه‌ای از وظایف که به صورت سرویس‌ده-سرویس‌گیر کار می‌کنند، باعث می‌شود که تولیدکنندگان قادر به ارائة سامانةعاملی مقیاس‌پذیر۲۰ با سرویس‌های مختلف باشند. منظور از مقیاس پذیری این است که سرویس‌های سامانةعامل بر اساس کاربرد مورد نظر قابل بهینه‌سازی باشند و بتوان در مواقع لزوم به صورت پویا این سرویس‌ها را اضافه یا کم نمود. از سوی دیگر، قابلیت پیکربندی بیانگر ظرفیت سامانةعامل برای انطباق با تغییرات در لایة سخت افزار است.

یکی از برنامه‌های کاربردی فضایی سامانة هدایت ناوبری و کنترل خودگردان فضاپیما است. برای نمونه، فضاپیمای رزتا دارای گامهای(فازهای) مختلفی است که وقتی کنترل بلادرنگ از زمین امکان پذیر نباشد، این گام‌ها(فازها) باید قادر به کنترل خودگردان فضاپیما باشند.

علاوه بر این، سامانةعامل و نرم افزارهای کنترلی در محیطی کار می‌کنند که شرایط سختی بر سامانه چه از نظر فضای حافظه و چه از نظر انرژی مورد نیاز پردازشگرها تحمیل می‌شود. برای مثال فاصلة زیاد از خورشید، انرژی تولید شدة پنل‌های خورشیدی را کاهش می‌‌دهد و حتی در بعضی موارد لازم است که تجهیزات خاموش شوند.

ماموریت‌های فضایی نیاز به مراقبت و پشتیبانی طولانی مدت دارند. در بعضی از ماموریت‌ها امکان ارتقاء نرم‌افزاری بعد از پرتاب فضاپیما دارای اهمیت بسیار زیادی است. این ارتقاء نرم افزاری ممکن است به دلایلی از قبیل تصحیح خطاهای احتمالی در حین عملکرد،ا تغییرات به دلیل شرایط محیطی و بهبود عملکرد یک سامانة خاص صورت پذیرد.

۳) استانداردها

برنامه‌های کاربردی فضایی از بخش زمینی، ماهواره‌ها و پرتابگرها گرفته تا کاوشگرها را تحت پوشش قرار می‌دهند. به همین علت، اکثر برنامه‌های کاربردی در این حوزه بر اساس دو استاندارد معتبر و معروف ۲۱ECSS و DO-۱۷۸B RTCA ۲۲ ساخته می‌شوند. توسعه و تولید نرم افزار تحت نظارت و حمایت آژانش فضایی اروپا۲۳ باید منطبق بر استانداردهای تضمین محصول کنسرسیوم اروپایی برای استانداردسازی فضا (ECSS) باشد. این استاندارها بیشتر روی مراحل تولید نرم افزار تکیه می‌نمایند تا روی خود محصول و عجیب نیست که تولیدکنندگان سامانه‌های‌عامل تجاری تا حد زیادی این استانداردها را نادیده می‌گیرند. در مورد استانداردهای DO-۱۷۸B شرایط به گونة دیگری است، به‌طوری‌که شرکت‌ها و صنایع هوافضایی آنها را به رسمیت می‌شناسند و استانداردهای بین المللی تضمین شده برای تولید نرم افزار می‌دانند. درحالی که تمامی پروژه‌های فضایی جدید باید روند دریافت تاییدیة استاندارد DO-۱۷۸B را پشت سر بگذارند، تنها تعدادی از تولیدکنندگان سامانه‌های‌عامل بلادرنگ این استاندارد را در تولیدات خود رعایت نموده‌اند.

یک سامانةعامل بلادرنگ نیازمند ارتباط با بخش‌های کاربردی و محیط‌های آنها از طریق رابط‌های مناسب است. یکی از این رابط‌ها که لازم است سامانه‌های‌عامل بلادرنگ تجاری با آن تطبیق داشته باشند پوزیکس۲۴ است.

۴) محیط توسعه

زبان برنامه نویسی Ada زبان مرسوم و شناخته شده در برنامه‌های کاربردی فضایی است. به همین دلیل، پشتیبانی از این زبان یکی از معیارهای انتخاب سامانةعامل بلادرنگ تجاری برای کاربردهای فضایی به شمار می‌رود. البته در سال‌های اخیر زبان‌های برنامه نویسی C و C++ نیز به صورت فزاینده‌ای در برنامه‌های کاربردی فضایی مورد استفاده قرار گرفته‌اند و به خصوص سامانه‌های‌عامل تجاری از این زبان‌ها برای توسعه برنامه‌ پشتیبانی می‌نمایند.

۵) امکانات

عملکرد هر نرم افزار تجاری بر اساس نظر کلی مشتریان مورد بررسی قرار می‌گیرد و این موضوع طبیعی است که یک نرم‌افزار تجاری دارای تمامی معیارهای مورد نظر کاربری خاص نباشد. امکانات و ویژگی‌های یک سامانةعامل بلادرنگ تجاری مورد توجه اکثر کاربران، عبارتند از:

ـ مدل سازمان‌دهی وظایف (پشتیبانی از پردازه‌ها۲۵ و ریسمان‌ها۲۶)

ـ مکانیزم ارتباط بین پردازه‌ها ۲۷

ـ پشتیبانی و نگهداری حافظه (فضای حافظه با اجازة دسترسی کامل). همچنین امکان جداسازی فضای حافظة نرم افزارهای مختلف برای اطمینان از جدا بودن فضای حافظة نرم‌افزارهای حساس از دیگر نرم‌افزارها (توجه داشته باشید که در حال حاضر هیچ یک از سامانه‌های‌عامل بلادرنگ تجاری این قابلیت را ندارند).

ـ خط‌مشی زمان‌بندی۲۸ و روش وارونگی اولویت‌ها۲۹ .

۶) تولید کننده

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

با توجه به تعداد محدود مشتریان در بازار فضایی، برآورده نمودن نیازهای آنها باعث از دست دادن بازارهای جهانی در حوزه‌های دیگر نخواهد شد. به همین دلیل تعدادی از تولید کنندگان سامانه‌های‌عامل بلادرنگ برای خشنود نگه داشتن مشتریان فضایی خود، رقابت شدیدی دارند. برای مثال می‌توان به شرکت‌های ا‌ی-اونیکس۳۰ و وایندریور۳۱ اشاره نمود.

● نتیجه‌گیری

تکامل روزافزون تکنولوژی‌ها و نیازهای برنامه‌های کاربردی فضایی، موجب سوق دادن این حوزه به سمت استفاده از اجزاء سخت‌افزاری و نرم‌افزاری تجاری و در دسترس شده است. بسیاری از پروژه‌های تجاری فضایی اروپا در حال استفاده از سامانه‌های‌عامل بلادرنگ تجاری در برنامه‌های خودند و تعداد زیادی هم در حال برنامه‌ریزی برای این کار می‌باشند. دسته‌ای از خصوصیات سامانه‌های‌عامل بلادرنگ برای توسعه دهندگان برنامه‌های کاربردی فضایی از اهمیت ویژه‌ای برخوردارند. صرف نظر از توانایی‌های بدیهی و غیر قابل چشم‌پوشی مثل پشتیبانی از یک نوع پردازندة خاص و مدل زمان‌بندی اجرای وظایف، سامانةعامل بلادرنگی که برای کاربرد فضایی انتخاب می‌شود، باید از زبان برنامه‌نویسی خاصی پشتیبانی نماید و دارای مجموعه ابزار لازم برای توسعه نرم‌افزار باشد.

از این گذشته، در مواردی که به سامانه‌های نرم‌افزاری ایمنی-بحرانی۳۲ نیاز است، سامانةعامل بلادرنگ تجاری باید تاییدیه رسمی و استاندارد لازم را داشته باشد. این چالشی است که تنها تعداد اندکی از تولیدکنندگان این سامانه‌ها از پس آن برآمده‌اند.

مهدی ابوالقاسمی

کارشناس ارشد نرم افزار، سازمان فضایی ایران

منابع

۱- Beus-Dukic L. (۲۰۰۰), “Criteria for Selection of COTS Real-Time Operating System: a Survey”, Proc. of the Data Systems In Aerospace Conference (DASIA ۲۰۰۰), Montreal, Canada, ۲۲-۲۶ May ۲۰۰۰ (ESA SP-۴۵۷), ESA Publications Division, pp. ۳۸۷-۹۲.

۲- Powell D. (Ed.) (۲۰۰۱), “A Generic Fault-Tolerant Architecture for Real-Time Dependable Systems”, Kluwer Academic Publishers, ۲۶۰pp., ISBN ۰-۷۹۲۳-۷۲۹۵-۶.

۳- The European Cooperation for Space Standardization, http://www.ecss.nl

۴- RTCA/DO-۱۷۸B, Software Considerations in Airborne Systems and Equipment Certification, http//www.rtca.org.

پانوشت‌ها

[۱] - Operating System

۲- Real-time Operating System (RTOS)

۳- Commercial Off the shelf (COTS)

۴- Development Environment

۵- Bus

۶- On-board

۷- Embedded Software

۸- Data Handling

۹- Autonomous Spacecraft

۱۰- Rosetta

۱۱- Huygens

۱۲- Multitasking

۱۳- SPARC

۱۴- Device Drivers

۱۵- Kernel

۱۶- Ethernet Driver

۱۴- Ethernet Driver

۱۷- Board Support package

۱۸- Interrupt Handling

۱۹- Client-Server

۲۰- Scalable

۲۱- European Cooperation for Space Standardization

۲۲- Radio Technical Commission for Aeronautics DO-۱۷۸B

۲۳- European Space Agency (ESA)

۲۴- Portable Operating System Interface

۲۵- Processes

۲۶- Threads

۲۷- Inter Process Communication (IPC)

۲۸- Scheduling Policy

۲۹- Priority Inversion Method

۳۰- Aonix

۳۱- Wind River

۳۲- Safety-Critical