宇宙の極限状態で動作する「リアルタイムオペレーティングシステム」とは?
WindowsやmacOSなどがインストールされているPCを使っている人の中には、PCが命令を実行中であることを示すアイコンがなかなか動かないという経験をしたことがある人もいるはず。家庭にある普通のPCならユーザーがイライラするだけで済みますが、宇宙にある人工衛星の場合は、一瞬でも処理が遅れれば惑星に墜落して火の玉になったり、軌道がずれて宇宙のかなたに飛んでいってしまったりします。そんな極限状態で動作するリアルタイムオペレーティングシステム(RTOS)について、IT系ニュースサイトのArs Technicaが分かりやすく説明しています。
Definitely not Windows 95: What operating systems keep things running in space? | Ars Technica
https://arstechnica.com/features/2020/10/the-space-operating-systems-booting-up-where-no-one-has-gone-before/
Ars Technicaに記事を寄稿した科学技術ライターのJacek Krywko氏によると、宇宙で動作する人工衛星や宇宙探査機には、普通のPCのOSとは全く違う計算プロセスを持つRTOSが搭載されているとのこと。
例えば、一般的なPCのOSに何らかの計算をさせた場合、OSは計算を実行し適切に処理できた場合に「タスクは正しく実行された」とみなし、処理にかかった時間を気にしません。しかし、一刻を争う事態に直面することもある人工衛星のRTOSは、厳密に指定された時間の設定を持っており、その時間内に処理が完了できなければタスクを失敗とみなします。なぜなら、宇宙では少しでも処理が遅れれば既に手遅れになっていることも少なくないため、いつまでも同じタスクを実行していても意味がないからです。
RTOSがタスクに設定する時間は、例えば「センサーからデータをアップロードするのに3単位」「エンジンを始動するのに4単位」といった具合に分割された単位として表され、各タスクには優先順位がつけられています。こうした仕組みを通じて、ソフトウェアの開発者は想定されたシナリオの中でどのタスクが実行され、それにどのくらいの時間がかかるのかを把握し、宇宙で動作するソフトウェアを作っています。
Krywko氏は、実際に宇宙ミッションで使われているRTOSとして、アメリカ航空宇宙局(NASA)や欧州宇宙機関(ESA)などの宇宙機関が使っているRTOSを3つ紹介しています。
◆1:VxWorks
VxWorksは、アメリカのソフトウェアメーカーであるWindRiverが開発したRTOSで、1996年に打ち上げられた火星探査機マーズ・パスファインダーや2003年に打ち上げられたマーズ・エクスプロレーション・ローバーなどに採用されています。
by NASA's Marshall Space Flight Center
これらの宇宙探査機に搭載されたVxWorksのタスクは、タスクが起動された「準備完了」、より優先順位が高いタスクが行われている最中の「ブロック」、別のデータの到着を待っている「遅延中」、何らかの理由で停止中の「一時停止」という4つの状態で処理されます。またVxWorksは、複数のタスクを同期させたり連動させたりするためのバイナリセマフォや、タスクが排他的にリソースを使えるようにするミューテックスという仕組みも備えています。
こうした独自の仕様を強みに、VxWorksは火星ミッションなどでさまざまな成果を挙げましたが、VxWorksが持つ「優先順位が逆転してしまう」といった問題は、たびたびNASAの地上管制チームを悩ませたそうです。
◆2:RTEMS
WindRiverが開発したVxWorksとは違い、RTEMSはオープンソースプロジェクトにより開発されたRTOSです。RTEMSは、もともとはアメリカ軍が宇宙探査機ではなくミサイルを制御するために開発を始めたソフトでしたが、障害の責任が不明確といったオープンソース特有の問題や、ミサイルの制御をするには動作が遅すぎるといった難点を抱えていました。
by Marion Doss
そこでアメリカ軍は、政府主導の改修により、さまざまなプロセッサ・ファミリーで動作する高速なシステムであるReal-Time Executive for Missile Systems(RTEMS)を開発しました。こうして生まれたRTEMSはその後、ミサイル制御以外の幅広い分野で活躍できることが判明し、Real-Time Executive for Multiprocessor Systems(RTEMS)と名を変えてリリースされました。
RTEMSが持つ、「新しいプロセッサにも簡単に移植できる」「高度にカスタマイズ可能」といった特徴に目をつけたESAは、ヨーロッパ発の複数の宇宙ミッションにRTEMSを採用しているとのことです。
◆3:SpaceChain OS
SpaceChain OSは、「Sylix OS」と「ブロックチェーン技術」という2つの主要なコンポーネントで構成されたRTOSです。中国で開発されたSylix OSは、RTEMSと同様にミサイルのOSとして開発がスタートしたシステムで、信頼性が高く無駄がないため、保守が容易という特徴を持っています。Sylix OSがどのくらい無駄がないかというと、Linuxのカーネルと比べてソースコードの行数が5分の1しかないほどだとのこと。
SpaceChain OSの最大の特徴は、2つ目のコンポーネントである「ブロックチェーン技術」により、クラウドファンディングで資金を調達できるという点にあります。
これについて、Krywko氏は「SpaceChain OSのSylixの部分は、RTEMSやVxWorksと同様に宇宙船のハードウェアを動かす役割を担っていますが、ブロックチェーンの部分は、複数の利害関係者が宇宙船のリソースを共有するためのものです。これにより、企業や個人がSpaceChain OSを搭載した人工衛星に投資できるので、クラウドファンディングによる人工衛星の打ち上げも実現できます」と述べました。
・関連記事
宇宙に「低スペックなCPU」しか持って行けない理由とは? - GIGAZINE
GPSより高精度な衛星測位システム「ガリレオ」が1週間以上システムダウンした原因とは? - GIGAZINE
NASAのオリオンに搭載されたCPUは2003年のApple iBook G3と同レベル - GIGAZINE
初代PlayStationのCPUを搭載したNASAの無人探査機が冥王星に到達 - GIGAZINE
NASAが約2億キロ離れた火星探査機のフラッシュメモリを遠隔でフォーマットする予定 - GIGAZINE
・関連コンテンツ
in ソフトウェア, 乗り物, Posted by log1l_ks
You can read the machine translated English article What is a 'real-time operating system' t….