宇宙の中のコンピューター

2013年4月17日

ご存知でしょうか?4 月 12 日は「世界宇宙飛行の日」です。そこで、宇宙で使用されるコンピューターについて少しお話しすることにしました。宇宙用のコンピューターがどのようなものか、何をするものなのか、また宇宙のコンピューターを保護する方法と保護が必要な理由を紹介します。

宇宙の中のコンピューター - title

宇宙船のコンピューター化は、我々の生活のあらゆる場面と同様に、常に向上しています。さまざまな機器が点滅する巨大なコントロールパネルに代わって、ラップトップの採用が進んでいます。乗組員は国際宇宙ステーション(ISS)のどこからでもラップトップをメインフレームに接続し、必要なデータにアクセスしたり、指示を入力したりすることができるようになりました。もちろん、一般ユーザー向けのラップトップや搭載コンピューターが使われているわけではありません。最近では市販コンピューターの使用も増えていますが、やはり宇宙用のコンピューターは興味深い機能を備えています。

設計

専門家でない人は現代の宇宙船コントロールユニットに特に感動することはないでしょう。考えてみれば、そういう人は昔のものにも興味はないはずですが。コントロールユニットは地味な重金属の箱であり、色の付いたソケットがいくつか付いているだけです。USB もなければ、ディスプレイもなく、場合によってはキーボードすらありません。確かにとても時代遅れなものに見えますが、それはすべて、システムの信頼性を最優先しているからなのです。

USB もなければ、ディスプレイもなく、場合によってはキーボードすらありません。確かにとても時代遅れなものに見えますが、それはすべて、システムの信頼性を最優先しているからなのです。

各ユニットがモジュラー設計となっているため、プロセッサであれ、メモリチップであれ、入出力システムであれ、簡単に取り出して新しいものと交換できます。このような設計によって、短時間で容易な保守が可能となります。電子機器が宇宙放射線の影響を受けて不具合を起こすことがあるため、これは宇宙船の設備において不可欠なものです。

ISS には数多くのコンピューターがあり、なかには外部に取り付けられているものもあります。そのようなコンピューターを修理するには、乗組員が宇宙空間で作業しなければなりません。修理が必要なコンピューターは 1 年間でおよそ 20 台になります。

性能

現在 ISS で使用されている最も一般的なタイプのハードウェアはIntel 80386SX です。これは 20 年前の家庭用 PC で広く使われていたものです。現在のプロセッサに比べれば見劣りする性能ですが、その理由は、現在の巨大な処理能力が主に美しいゲームグラフィックやインターフェイスレンダリングに使用されているから、とも言えます。宇宙での基本的な作業には、小さな処理能力でも対応できます。何と言っても、当時彼らは月探査を計画できたのですから。

宇宙用コンピューターが「時代遅れ」とされる主な理由は、開発に途方もない時間がかかることです。場合によっては数十年を要することもあります。将来の探査の目標リストは、計画されるコンピューターに必要な技術的特徴とともに作成されています。すべて、実績のある現代の技術を考慮して行われるのです。また、古い CPU には電力をあまり消費しないというメリットもあります。宇宙では 1 ワットたりとも無駄にできません。

シンプルであるほど良い

宇宙船自体は非常に複雑で高度な機械ですが、その制御システムはとてもシンプルで、ごく少数の操作だけを実行する基本ユニットで構成されています。コンピューターモジュールにできることが少ないほど、安定性と信頼性が高まり、問題が発生した場合も解決が容易になります。

また、ソフトウェアも予測可能なものであるべきです。使用されているのはリアルタイムオペレーティングシステム(RTOS)で、これには「推測」の余地があまりありません。そのため、システムから迅速な応答を得られ、信頼性が確保されます。かなり長い間「考える」傾向のある Windows と異なり、宇宙の RTOS はバッファリングに時間を浪費することがありません。特定の宇宙船用ソフトウェアは、RAM であれ CPU 負荷であれ、システムリソースを無駄にしないようにも設計されているのです。

International Space Station

パッチ、更新、デバッグ

完ぺきなソフトウェアアプリケーションというものは存在しません。どれほど膨大な量のチェックをかけてもコード内のエラーがすり抜けることはあります。影響を受けるコンピューターが数千マイル(宇宙探査機の場合は数百万マイル)離れていれば、デバッグは容易ではありません。そのため、ソフトウェアエラーの問題に対処する最善の方法は、宇宙用コンピューターの完全なレプリカを使ったシミュレーションを、地球上で行うことです。つい先ごろ、この方法で宇宙探査機ボイジャー 2 号(Voyager 2)が「再起動」されました。同探査機は 40 年前に打ち上げられたもので、今はもう太陽系を離脱したと言われています。ボイジャー 2 号は 2010 年にハードウェアの故障によって、一貫したデータではなく無差別な信号を送信するようになりました。運よく、NASA のボイジャー 2 号のラボに、同じ種類の 2 番目のコンピューターが保管されていたため、問題のシミュレーションを実行し、NASA のスペシャリストはメモリセクターの損傷が原因であることを突き止めました。その後、実際のパッチ(問題を修正するソフトウェア更新)が無線でボイジャーに送信されました。同探査機はこうして修理され、深宇宙からのデータ送信を再開しましたが、今後さらに 40 年にわたって運用される可能性もあるとみられています。それは信号の限界を迎えるまでか、あるいは、宇宙人に捕まってしまうまでかもしれません。

火星探査車のスピリット(Spirit)も最近、同様の処置を受けています。そう、メンテナンスや定期的な更新が必要なのは、一般的なホームコンピューターだけではないのです。

そのシステムは、ホームユーザーがお気に入りの音楽や休暇の写真を保存するのに使うバックアップと大きな違いはありません。音楽や写真などは、個人の感情という点においては非常に価値あるものですが、宇宙で収集されるデータほど高価なものではありません。

情報の消失は許されない

宇宙探索は有人であれ無人であれ、非常にコストのかかる取り組みです。立ち上げには、時間もお金も人手も多く必要になります。したがって、データ消失につながる問題は、どんなに小さなものであっても、こうした努力がすべて水泡に帰すことを意味します。このような問題を防ぐために、宇宙用のコンピューターには非常に多くのバックアップシステムが必要です。そのために、多くのケースで、種類の異なるストレージが一度に使用されます。たとえば、フラッシュメモリを磁気テープとともに使用することで、少なくとも 1 つのストレージが使用可能な状態を維持します。そのシステムは、ホームユーザーがお気に入りの音楽や休暇の写真を保存するのに使うバックアップと大きな違いはありません。音楽や写真などは、個人の感情という点においては非常に価値あるものですが、宇宙で収集されるデータほど高価なものではありません。

Space Station

現代

ISS の各乗組員は Lenovo ThinkPad ラップトップを使用しており、ThinkPadを ISS のさまざまなシステムに特別なバスから接続することができます。

今の宇宙飛行士は現代技術のおかげで Web サーフィンをしたり地球にいる家族と話したりすることができますが、その通信チャネルは保護されており、宇宙飛行士を Web 上の危険から遠ざける特殊な保護バッファが設けられています。さらに、このような通信には別のコンピューターが使われ、ISS の安全に関わる重要な装置には接続されません。この予防措置はすでに有効性が証明されています。2007 年の飛行で宇宙飛行士のラップトップからマルウェア「Gammima」が検知されました。ラップトップはアンチウイルスで保護されていませんでしたが、この出来事の後、NASA はアンチウイルスによる保護について検討を始めました。