اسپیسایکس از چه پردازنده و سیستمعاملی در حاملهای فضایی و فضاپیماها استفاده میکند؟
اخیراً اولین سفر انسان با یک فضاپیمای توسعهیافته توسط شرکتی خصوصی رقم خورد و اسپیسایکس (SpaceX) موفق شد پس از نزدیک به ۱۰ سال سفری سرنشیندار را برای ایالات متحده رقم بزند. در این مأموریت رابرت بنکن (Robert Behnken) و داگلاس هارلی (Douglas Hurley)، فضانوردان ناسا، به ایستگاه فضایی بینالمللی اعزام شدند. اما آنچه که این دو را به مقصدشان رساند حامل فضایی فالکون-۹ (Falcon-9) بود که علاوهبر سوخت حامل، از چندین پردازنده و سیستمعامل نیرو میگرفت.
پردازنده و سیتسمعامل مورد استفاده فالکون-۹
فالکون-۹ مشابه با بسیاری از ابرکامپیوترها، تجهیزات اینترنت اشیاء و دیگر دستگاههای با وظایف حساس، بر لینوکس مبتنی است. سیستمعامل این حامل فضایی نسخهای سادهشده از لینوکس است که روی سه پردازنده دو هستهای ساده با معماری X86 کار میکند. نرمافزار پرواز هم بهطور جداگانه روی هر پردازنده اجرا میشود و با زبانهای C و یا ++C نوشته شده است.
شاید این موارد به نظرتان ابتدایی بیاید و این موضوع بیدلیل نیست! پرازندههای فضاپیماها نسبت به جدیدترین و پیشرفتهترین پردازندههای روز بازار عقبتر هستند. این پردازندهها برای فضاپیماها طراحی شدهاند؛ فضاپیماهایی که فرایند طراحی آنها سالها و حتی دههها طول کشیده است. بهعنوان مثال، ایستگاه فضایی بینالمللی همچنان بر پردازندههای ۲۰ مگاهرتزی اینتل 80386SX مبتنی است که بسیار قدیمی هستند. از چیپ مورد استفاده در فالکون-۹ اطلاعاتی در دست نیست اما گمان میرود با جدیدترین مدلهای روز بازار حداقل ۱۰ سال فاصله داشته باشند.
از آنجایی که این پردازندهها برای دستور و فرمان مالتیپلکسر (Multiplexer) و دیمالتیپلکسر (demultiplexer) در ایستگاه فضایی بهکار میروند، برای وظایف دیگر مناسب نیستند. فضانوردان همچنین برای کارهای روزانه از لپتاپهای اچپی ZBook 15 مبتنی بر توزیعهای دبیان (Debian) یا ساینتیفیک (Scientific) لینوکس و نیز ویندوز ۱۰ بهره میبرند. سیستمهای مبتنی بر لینوکس برای ترمینال کنترل و فرمان بهکار میروند، در حالی که سیستمهای مبتنی بر ویندوز ۱۰ برای استفادههای دیگری نظیر وبگردی، ایمیل و تفریحات کاربرد دارند.
عموماً تصور میشود چیپهایی که به فضا میروند با مدلهای معمول تفاوتهایی داشته باشند. پردازندههایی که در فضا کار میکنند باید در مقابل تشعشعات مقاوم باشند؛ در غیر این صورت در مقابل اثرات ناشی از تابش یونیزهکننده و تشعشعات کیهانی از کار میافتند. پردازندههای ویژه سفرهای فضایی بهطور سفارشی و در طول سالها طراحی میشوند و چندین سال آزمایش را پشتسر میگذارند تا در نهایت اجازه استفاده آنها در فضا صادر شود. بهعنوان مثال، ناسا انتظار دارد بهعنوان نسل بعدی پردازندههای مصارف عمومی از گونهای از ARM A53 استفاده کند؛ همان پردازنده نهچندان جدیدی که مینیرایانه در رزبری پای ۳ (Raspberry Pi 3) نیز تعبیه شده است. البته آماده شدن این پردازنده تا سال ۲۰۲۱ طول میکشد.
چرا اسپیسایکس در فالکون-۹ از سه پردازنده استفاده میکند؟
زمانی که سیستم هر تصمیمی را میگیرد نتایج هر هسته با بقیه مقایسه میشود. اگر هرگونه مغایرتی مشاهده شود تصمیم لغو شده و در نهایت فرایند از ابتدا آغاز میشود. کنترلکنندهای که وظیفه کنترل پرههای حامل فضایی و نیز موتورها را برعهده دارد سه فرمان را از هر پردازنده X86 دریافت میکند و در صورتی که تمامی آنها یکسان باشند دستور را اجرا میکند. ولی اگر یکی از دستورات متفاوت باشد، کنترلکننده بر اساس دستورالعمل صحیح قبلی عمل خواهد کرد. اگر همه چیز ناخوشایند پیش رود فالکون-۹ دستورات چیپ خاطی را نادیده میگیرد. نتیجه استفاده از سه پردازنده این است که با محاسبه چند باره و همزمان، هیچ نیازی به تهیه چیپهای گران قیمت طراحیشده برای سفرهای فضایی نیست.
اسپیسایکس همچنین پیش از هر پرواز، عملیات تست نرمافزاری و سختافزاری را روی زمین انجام میدهد و بدترین سناریوهای محتمل حین پرواز، بدون از دست دادن حامل فضایی، شبیهسازی میشود.
سیستمعامل و نرمافزار فضاپیمای دراگون (Dragon)
فضاپیمای دراگون هم بر لینوکس و نرمافزار نوشتهشده با زبان ++C مبتنی است و رندرهای (render) نمایشگر لمسی بر اساس جاوا اسکریپت (JavaScript) و کرومیوم (Chromium) کار میکنند. در صورتی که اشکالی در اجرای رابط کاربری پیش آید فضانوردان میتوانند با استفاده از کلیدهای فیزیکی کنترل فضاپیما را در دست بگیرند.
بهاینترتیب میتوان گفت بهلطف سیستمعامل لینوکس و پردازندههای چندگانه، ایالات متحده بار دیگر موفق شده خود، ارسال فضانوردان به فضا را انجام دهد و از وابستگی به روسیه بکاهد.