اسپیس ایکس فضانوردان ناسا را با لینوکس به فضا فرستاد
در سالی که مشکلات زیادی متوجه همه شد، شاهد اتفاقی مهم و مثبت بودیم. سیام ماه مه ۲۰۲۰ (۱۰ خرداد ۱۳۹۹) کپسول کرو دراگون اسپیس ایکس به مدار زمین فرستاد شد. کرو دراگون نخستین فضاپیمایی بهحساب میآید که توسط شرکتی خصوصی به مدار زمین فرستاده میشود و از همین حیث اهمیتی ویژه دارد. بهعلاوه کرو دراگون نخستین فضاپیمای سرنشیندار ایالات متحده در ۹ سال اخیر برشمرده میشود. کرو دراگون در پروازی نفسگیر که میلیونها تن درسراسر دنیا بهصورت زنده آن را تماشا میکردند توانست داگ هارلی و باب بنکن، فضانوردان ناسا را با موفقیت به مدار زمین بفرستد و سپس آنها را به ایستگاه فضایی بینالمللی برساند. ارسال آنها به مدار ازطریق موشک فالکون ۹ اسپیس ایکس انجام شد که در آن از سوخت و البته سیستمعامل لینوکس استفاده میشود.
فالکون ۹ همچون ابررایانهها، دستگاههای مبتنیبر فناوری اینترنت اشیاء (IoT) و بسیاری از دستگاههای سازمانیِ ضروری، از لینوکس بهره میگیرد. مهندسین نرمافزار اسپیس ایکس چند سال پیش با انتشار مقالهای در شبکهی اجتماعی ردیت به ارائهی توضیحاتی درمورد برنامهنویسی موشک فالکون ۹ پرداختند. در آن زمان مهندسین نرمافزار اسپیس ایکس گفتند: «تیم نرمافزار پرواز اسپیس ایکس متشکل از تقریبا ۳۵ نفر است. ما درکنار هم تمامی کدهای لازم برای فالکون ۹، گرسهاپر (موشک آزمایشی فالکون ۹) و دراگون را مینویسیم. ما همچنین کارهای مربوط به پلتفرم اصلی را انجام میدهیم. درکنار اینها اعضای تیم ما به نوشتن کد نرمافزاریهای شبیهسازی، آزمایش کدهای پرواز و نوشتن کد نرمافزارهای ارتباطی و تحلیلی مشغول هستند. بهعلاوه ما در بخش کنترل مأموریت هم کار میکنیم تا به پشتیبانی از مأموریتهای درحالاجرا بپردازیم».
فالکون ۹ از نسخهی تضعیفشدهی لینوکس با سه پردازندهی دو هستهای استفاده میکند
سیستمعامل بهکاررفته در فالکون ۹ را میتوانیم نسخهی تضعیفشدهی لینوکس بهحساب بیاوریم که روی سه پردازندهی دو هستهای مبتنیبر معماری x86 درحال اجرا است. نرمافزار پرواز بهصورت مجزا روی هر پردازنده اجرا میشود و با اتکا بر زبانهای برنامهنویسی سی و سیپلاسپلاس (++C) نوشته شده است. شاید شنیدن لفظ «معمولی» برای پردازندههای فالکون ۹ در ابتدا برایتان عجیب باشد، اما واقعیت همین است. فالکون ۹ از پردازندههایی معمولی استفاده میکند.
پردازندههای بهکاررفته درفضاپیماها برخلاف عقیدهی بسیاری از مردم، جزو پردازندههای جدید و قدرتمند بازار نیستند. این پردازندهها بهطور خاص برای فضاپیماها توسعه داده میشوند و بررسیها نشان میدهد روند تولید و بهرهگرفتن از فضاپیماها ممکن است به سالها یا حتی دههها زمان نیاز داشته باشد. شرکتها باید بهدقت تمامی جوانب پردازنده را موردبررسی قرار دهند و از دقیقبودن آنها اطمینان حاصل کنند. برای مثال ایستگاه فضایی بینالمللی موسوم به ISS اکنون از پردازندهی ۲۰ مگاهرتزی متعلقبه اینتل با نام 80386SX استفاده میکند که متعلقبه سال ۱۹۸۸ است. بااینحال فعلا نمیدانیم که فالکون ۹ بهطور دقیق از کدام تراشهها استفاده میکند. احتمال میرود تراشههای موشک موردبحث حداقل یک دهه قدیمیتر از تراشههایی باشند که امروزه کاربران عادی در فروشگاهها امکان تهیهی آنها را دارند.
تراشههای قدیمی بهخوبی کار شرکتهای حوزهی فضا را راه میاندازد. این تراشهها با بخش C&C MDM ایستگاه فضایی کار میکنند، اما توانایی آنها بههمین حد محدود میشود و امکان استفاده از تراشههای یادشده برای اهداف دیگر وجود ندارد. فضانوردان برای انجام کارهای معمول روزانهی خود به بهرهگیری از لپتاپهای ZBook 15 اچپی استفاده میکنند که مجهز به توزیعهای لینوکسی دبیان و ساینتیفیک و البته ویندوز ۱۰ است. سیستمهای لینوکسی برای بخش C&C MDM ایستگاه فضایی بینالمللی درنقش پایانههای دوربرد ظاهر میشوند، بااینحال سیستمهای مبتنیبر ویندوز ۱۰ برای اهدافی نظیر ایمیلفرستادن، گردش در وب و کارهای سرگرمکننده مورداستفاده قرار میگیرند.
بهطور معمول تراشههایی که در محصولات مختلف به فضا فرستاده میشوند را نمیتوانیم تراشههایی معمولی خطاب کنیم. پردازندههایی که در فضا میمانند باید دربرابر اشعههای مضر آنجا که ازسوی خورشید ساطع میشوند مقاوم باشند؛ درغیر اینصورت تراشههای موردبحث بهدلیل قرار گرفتن درمعرض تابشهای یوننده و پرتوهای کیهانی دچار مشکل خواهند شد و از کار کردن بازخواهند ماند. پردازندههای فضاپیماها بهشکلی ویژه سفارشیسازی میشوند. روند تولید آنها بسیار سخت و زمانبر است، بهحدی که تولیدکنندگان مجبور میشوند سالها روی طراحی و تولید آنها کار کنند. همچنین باید چندین سال آزمایش روی تراشهها انجام گیرد تا از نقصنداشتن آنها اطمینان حاصل شود.
تولید تراشهی فضاپیماها ممکن است مدتها بهطول بیانجامد
ناسا در اطلاعیهای جدید میگوید انتظار دارد تراشهی نسل بعدیاش که برای اهدافی عمومی کاربرد دارد و نسخهی سفارشی پردازندهی کورتکس A53 آرم بهحساب میآید در سال ۲۰۲۱ به مرحلهی بهرهبرداری برسد. پیشتر از نسخهی عادی این تراشه در رایانهی تکبرد رزبری پای ۳ استفاده شده است. از آنجایی که موشک فالکون ۹ میتواند بهصورت خودکار فرود بیاید، نیازی به استفاده از تراشههای ایمن دربرابر اشعههای مضر ندارد.
شاید برایتان سؤال باشد که چرا فالکون ۹ از سه پردازنده استفاده میکند. براساس گفتههای مطرحشده ازسوی رسانههای معتبر، اسپیس ایکس از سیستم Actor-Judge بهمنظور ارائهی ایمنی ازطریق افزونگی استفاده میکند. در سیستم موردبحث هرگاه تصمیمی گرفته شود، آن تصمیم با نتایج حاصل از هستههای دیگر مقایسه میشود. اگر در بین تمامی این نتایج ناسازگاری وجود داشته باشد، تصمیمِ گرفتهشده به مرحلهی اجرایی نمیرسد و روند اتخاذ تصمیم جدید از نو آغاز خواهد شد. این روند تا زمانیکه تمامی پردازندهها دارای یک نتیجهی واحد باشند ادامه مییابد. درصورت رخداد این اتفاق، دستورها به ریزکنترلرهای پاور پیسی (PowerPC) فرستاده میشوند. ریزکنترلرهای موردبحث که در نقش تصمیمگیرندگان اصلی برای فعالیت موتورها و بالههای موشک ظاهر میشوند، سه دستور را از هر یک از پردازندهها دریافت میکنند. اگر تمامی سهدستور با یکدیگر برابر باشند، ریزکنترلر دستور اصلی را اجرا میکند. درصورت وجود کوچکترین تناقض در بین سه دستور پردازنده، دستور اصلی اجرا نخواهد شد. درصورتیکه تناقض وجود داشته باشد، ریزکنترلر سراغ آخرین دستورالعمل صحیحی میرود که پیشتر دریافت کرده است. اگر اوضاع بر وفق مراد پیش نرود، فالکون ۹ دستورها تراشه را نادیده میگیرد.
هدف اصلی این نوع سیستم ویژه این است که تلرانس موردنیاز برای احتمال خطا درنظر گرفته شود، بدون اینکه شرکتها مجبور باشند به استفاده از تراشههایی گرانقیمتتر که بهشکلی خاص برای اهداف فضایی ساخته شده باشند، روی بیاورند. هواپیماهای مدرن نظیر محصولات جدید ایرباس نیز برای پرواز کردن به سیستمی مشابه متکی هستند.
اسپیس ایکس پیش از وارد شدن به مرحلهی عملی، برای مدتزمانی طولانی نرمافزارها و سختافزارهای پروازی خود را بهشکلی دقیق موردآزمایش قرار میدهد. اسپیس ایکس در این مراحل شبیهسازهای پرواز را با بالاترین جزئیات نظیر تمامی احتمالات خطا اجرا میکند. بدین ترتیب اسپیس ایکس میتواند بدون متحملشدن ضرر زیاد در پی ازدستدادن موشک، انواع خطاهای آن را برطرف کند.
فضاپیمای دراگون در نرمافزار پرواز خود نیز از لینوکس استفاده میکند، این نرمافزار بر پایهی زبان برنامهنویسی سیپلاسپلاس نوشته شده است. رابط کاربری لمسی این فضاپیما با اتکا بر کرومیوم و جاوااسکریپت رندر میشود. اگر کوچکترین مشکلی برای رابط کاربری پیش بیاید، فضانوردان میتوانند ازطریق دکمههای فیزیکی کنترل فضاپیما را در دست بگیرند. بهلطف لینوکس و البته تلاشهای بلندمدت و شبانهروزی مهندسین ناسا و اسپیس ایکس، سرانجام بهدوران فرستادن فضاپیماهای سرنشیندار به مدار زمین بازگشتهایم.
شما کاربران زومیت چه دیدگاهی در این زمینه دارید؟