ソフトウェアをアップデートすると、最善の状況下であっても面倒が起きることがある。では、はるか彼方の宇宙にあるデバイスの古いソフトウェアをアップデートしようとすればどうなるか、想像してみてほしい。米航空宇宙局(NASA)のIT専門家は、そのようなスケールの課題に取り組んでいる。
NASAの火星探査機「Curiosity」(2015年8月5日撮影)
提供:NASA/JPL-Caltech/MSSS
NASAの火星探査車である「Curiosity」が火星に着陸したのは10年以上前のことだが、これはWindowsであれば「Windows 7」の時代だ。コンピューターの世界で10年と言えば非常に長い時間であり、今のPCはWindows 11の時代になっている。では、CuriosityではどのOSが使われているのだろうか。実は、今でもWind Riverの「VxWorks」が使用されている。
VxWorksは、有名な組み込みシステム用のリアルタイムOSだ。Curiosityの場合、200MHzの「PowerPC RAD750」マイクロプロセッサー上でこのOSが動作している。RAD750は、由緒あるプロセッサーである「PowerPC 750」を耐放射線仕様にしたものだ。PowerPC 750が地球上のマシンで使われたのは、1999年に発売されたフルーツカラーの筐体の「Apple iMac G3」あたりまでだろう。
ではNASAは、なぜそんなに古くて処理速度が遅いチップを採用したのだろうか。その答えは、これらのチップが宇宙線に耐えられるように作られたハードウェアと相性が良かったからだ。Curiosityには、このチップとともに、2GBのフラッシュメモリー、256バイトのRAM、256KBのEPROM(Erasable Programmable Read Only Memory)が搭載されている。
ハードウェア的には成功したものの、ソフトウェアにはまだ改善の余地があった。2012年からPCを使っていれば、3回はアップグレードをしている人が多いだろうが、NASAにはそんな贅沢をする余裕はない。なにしろ、宇宙空間にはPCのメンテナンス担当者はいないのだ。
しかし最近になって、長い時間をかけて開発された画期的なソフトウェアアップデートが無事インストールされた。これによって、Curiosityが速く移動したり、ホイールの摩耗を最低限に抑えたりすることが可能になる。
このアップデートには約180カ所の変更点があり、適用するには、Curiosityの科学調査や画像処理を、4月3日から7日まで短期間中断する必要があった。この最新パッチのサイズは小さく、わずか22MB弱だった。とはいえ、これは以前のOSを完全に入れ替えるものであり、アップデート内容は51のファイルに分割されてアップロードされた。
パッチデータのアップロードには時間がかかった。Curiosityのアップロード速度は、最大でも256Kbpsだからだ。読者がこのような遅い通信速度の表記を目にするのは、モデムが使われていた時代以来のことだろう。今回の場合、アップロードには10日間かかった。また実際のインストールは、4月に入ってから4日間かけて実行された。
その後、あらゆることがチェックされ、ようやくCuriosityを新しいOSで立ち上げる準備が整った。古いOSはメモリーに保存されていたため、もし何か問題が起こっても、再起動に何日もかかることはない体制になっていた。