【宇宙開発】ISSに宇宙飛行士を届けたスペースX「Falcon 9」はLinuxで動く [しじみ★]
■ このスレッドは過去ログ倉庫に格納されています
悲惨なことが多い今年にも、素晴らしい瞬間はあった。米国時間5月30日、SpaceXの「Crew Dragon」が、史上初の民間有人宇宙船として、また、米国にとって9年ぶりのこととして、米航空宇宙局(NASA)の2人の宇宙飛行士、Bob Behnken氏とDoug Hurley氏を軌道に運んだ。彼らを打ち上げたのは、SpaceXの再利用可能なロケット「Falcon 9」。ロケット燃料と、そして「Linux」で稼働する。
スーパーコンピューターやIoTデバイス、その他のミッションクリティカルな基幹業務用デバイスと同様に、Falcon 9はLinuxを採用した。SpaceXのソフトウェアエンジニアは数年前、Falcon 9のプログラミングについて説明してくれた。当時、開発者は次のように述べた。
「フライトソフトウェアチームのメンバーは約35人。われわれだけで、Falcon 9、Grasshopper(テストロケット)、Dragonのすべてのアプリのコードを書き、コアプラットフォームの作業をこなし、シミュレーションソフトも、テストフライト用コードも、通信や解析のソフトウェアも書き、基地への導入も担当する。さらに、宇宙管制センターで実際のミッションのサポートもしている」
Falcon 9に搭載されたOSは、3基の“普通の”デュアルコアx86プロセッサー上で稼働する必要最低限のLinuxコードだ。フライトソフト自体は各プロセッサーでそれぞれ稼働する。ソフトはC/C++で書かれたものだ。
普通の? そう、普通の、一般的なプロセッサーだ。ご存じのように、宇宙船のCPUは最新でも最高性能でもない。宇宙船用のCPUは、設計から完成までに何年も、時には10年以上かかる宇宙船のために開発される。例えば、国際宇宙ステーション(ISS)を動かしているのは1988年製のIntel 80386SX(20MHz)だ。Falcon 9で採用するプロセッサーが何かは公表されていないが、少なくとも、現在量販店で普通に買えるものよりも10年は古い設計だろう。
もちろん、これらのプロセッサーはISSのコマンド及び制御コンピューター(C&C MDM:Command & Control Multiplexer Demultiplexer)で動くが、何にでも使えるわけではない。ISSでの日常業務では、宇宙飛行士たちはHPの「ZBook 15」を使っている。OSは「Debian Linux」、「Scientific Linux」、「Windows 10」だ。LinuxはC&C MDMのリモートターミナルの役割を果たしており、Windowsはメールやウェブ閲覧、娯楽のために使われている。
だが、一般には宇宙に向かうためのプロセッサーは普通のプロセッサーではない。宇宙に滞在するために、CPUは耐放射線性でなければならない。そうでなければ、電離放射線と宇宙線の影響で誤動作してしまう。これらの特製プロセッサーは、数年にわたる設計作業を経た後、宇宙飛行の認定を受けるまでにさらに数年のテスト期間をくぐり抜ける。例えば、NASAは次世代汎用目的CPUの完成を2021年とみている。このCPUは、「Raspberry Pi 3」への搭載で知られる「Arm Cortex-A53」のバリエーションだ。Falcon 9の1段目のロケットは地上に帰還するので、プロセッサーに耐放射線性は必要ない。
なぜプロセッサーが3基なのか。Q&AサイトStackExchangeの「Space Exploration」(宇宙探査)にある説明によると、SpaceXは、冗長性を確保するため「Actor-Judge」システムを採用している。このシステムでは、決定ごとに複数のコアの結果を比較する。不一致があれば、その決定を破棄してプロセスを再開する。すべてのプロセッサーの決定が同じになった場合のみ、命令がPowerPCのマイクロコントローラーに送られる。
ロケットエンジンやグリッドフィンの操作を担うこれらのコントローラーは、3基のx86プロセッサーから3つのコマンドを受ける。もし3つのコマンドがすべて一致すれば、マイクロコントローラーはコマンドを実行するが、1つでも違うものがあれば、直近の3つ一致したコマンドを実行する。コマンドが3つとも異なる場合は、このコマンドを無視する。
この「3回言ってね」的なトリプル冗長性のポイントは、耐放射線性にするためにプロセッサーにコストを掛けることなく、必要なフォールトトレランスを実現できるところだ。Airbusの最近の飛行機の操縦システムでも、同様のアプローチを採用している。
続きはソースで
https://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/KSC-20160408-PH_KLS0001_0005_%2825704320894%29.jpg/220px-KSC-20160408-PH_KLS0001_0005_%2825704320894%29.jpg
https://japan.cnet.com/article/35154820/ 加速度や各種デバイスのパラメータを読み多数決を取りながらミリ秒オーダーでシーケンスするだけなら数十MHzの32bitプロセッサがあれば充分で、
入力が無いかせいぜい数ch程度のシーケンサなら数MHz駆動の8bitマイコンでいい、なんならマイコンすら載っていないメカトロ制御すらありうる
一方で60FPS動作キープのタッチパネルUIなどはGHzオーダーの32bitや64bitプロセッサが必要
しかしISSも含めて持ち込まれるノートPCはすっかりThinkPad無くなりましたな
Lenovo買収以来さんざん流されてきたFUDのほとんどは根も葉もない党派性に根差した悪意でしか無かったと思っているが、
一方で2010年代半ば頃からHP製に切り替わっては行った背景はつまりそう言うことなのだろうなあ…と思っている元ThinkPad信者。
それでまあ代替がDELLではなくHP(つまりCompaqの系譜だ)、という辺りも妥当感しか無い ついにロケットもリアルタイムOSから卒業か・・・
詐欺師や税金を食い物にしている日本の経営者と別次元のマネジメント能力だな・・
ALGSもイーロンマスクがやればうまくいくのかも 十分に枯れた技術だし
次はUNIXと言われ続けて30年 >>4
Linux と言ってもカーネルからガチガチに書き換えられてるからリアルタイム Linux 化してると思う MS ウインドウズの安定性は完璧です
みずぽ へえ、じゃあATMの基幹システムに採用するよ
MS あざすあざす
システム刷新後初日
MS あああああああああ!あああああああああああああ!
みずぽ ああああああああああああああ!!! あああああああああああああ!!!!
流石にロケット打ち上げる連中はバカじゃなかったか そのまま使ってるわけじゃないだろうけど、Linuxはリアルタイム処理に対応したバージョンも公式に公開されている 航空宇宙産業系でUNIXライクOSだとVxWorks辺りが定番だったけど、最近はどうなのかね… まあ、AndroidだってLinuxのディストリビューションの一つだしなー。 社長:ロケットのOS何にすっかな〜
メジャー所のwindowsかな
品質保証はどうだっけ?
MS:マイクロソフトは、その他の明示の保証、条件、瑕疵担保、
またはその他本ソフトウェアの品質について一切責任を負いません。
(windowsの同意書からコピペ)
社長:ロケットのOSで、これはないわ >>15
俺は PentiumM か Core solo 辺りと見た
それもめちゃくちゃクロックダウンしてる
Dは発熱やばいし、宇宙じゃ熱逃すのも一苦労だぞ >すべてのプロセッサーの決定が同じになった場合のみ、命令がPowerPCのマイクロコントローラーに送られる。
多数決じゃないんだな
これ一基壊れたらコマンド送られなくなって詰むんじゃ ネトウヨ「すべての宇宙船はTRONで動いてるよ!世界一使われてるOSなんだ!」
↑これ見てTRONの凄さに感動してるけど、合ってるよね?(´・ω・`) >>18
Atomだろう
組み込み用のやつは長期間供給されるし動作温度範囲が広いしちっちゃいし消費電力低いし言うことない >>24
宇宙機用では、CPUのプロセスルールが古いほど有利なんだよ。 >>25
少なくともデュアルコアなんだからそこそこ新しい ロケットの航行自体にはWindowsは使えないよなぁ、自動アップデートかかった瞬間におしまいだし >>27
世の中にはWindowsを基幹システムに使ってるものなんていくらでもあるんだが >>28
時代は変わったな(´ー`)
10年くらい前にどっかの地方銀行が基幹システムをWindowsで構築するとブチ上げて失笑されてた頃が懐かしいよ。
で、毎月再起動するんかね?ワラ rootのパスワードはきっとAdmin1234だな そりゃ、Windows でいきなりアップデートかかったら落ちるからな。 >>17
Linux だって動作保証すらないぞ。AS IS だ。 >>32
>>17
保証がないなら、ブラックボックスが無く全てが開示されたLinux一択だろ? >>30
お前なんで俺のFreeNASのパスワードを知ってるんだ? ■ このスレッドは過去ログ倉庫に格納されています