150年間使い続けられるRTOS「RODOS」はドイツの人工衛星に欠かせない:リアルタイムOS列伝(33)(1/2 ページ)
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第33回は、ドイツの人工衛星に欠かせないRTOS「RODOS」を紹介する。
「RODOS(Realtime Onboard Dependable Operating System)」はドイツのヴュルツブルク大学(University of Wurzburg)によって提供されているリアルタイムOS(RTOS)である。ライセンスはApache 2.0で、現在もきちんとメンテナンスされている(図1)。
ドイツ航空宇宙センターの「BOSS」がベースに
RODOSの元となったのは、ドイツ航空宇宙センター(DLR:Deutsches Zentrum fur Luft- und Raumfahrt)が開発した「BOSS」と呼ばれるRTOSである。BOSSは宇宙衛星のシステムに利用するためのRTOSで、信頼性を高めるとともに認証や検証を容易に行えるように設計された。設計のポリシーは以下のようになっている。
- 可能な限りシンプルにする
- アプリケーションの複雑さ削減のために、モダンなフレームワークを使う
- コンポーネント技術を利用することで、残る複雑さの扱いを容易にする
これらの設計目標の下で作成されたカーネルのソースコードリストは数ページ程度とされ、また一部のコンポーネントは数学的に正しさの検証が行われている。BOSSの開発がいつスタートしたのか正確な時期は不明だが、1999年の時点で1年以上にわたって異状なく継続動作していると報告されているから、遅くても1997年ごろには開発がスタートしたものと思われる。このBOSSは、PowerPC、x86、そしてon-top-of-LINUX(Linux上のユーザータスクとして動作)の3種類の実装がある。最初の実装は48MHz動作のPowerPCプロセッサで、以下のような仕様を実現していた。
- 時間解像度:1μsec
- Thread Switch:3μsec
- Reaction Time(恐らく割り込み応答時間の意味だろう):3μsec未満
- フラッシュからのブート:0.5sec未満
この最初の実装は、最終的にドイツのBIRD(Bi-Spectral Infrared Detection)という人工衛星の制御システムに採用されており、BIRDは2001年10月に打ち上げられている。
DLRはこれに続き、TET-1(Technologieerprobungstrager 1)という2012年に打ち上げられた人工衛星や、2016年に打ち上げられたBiROS(Bi-spectral InfraRed Optical System)という人工衛星のシステムも手掛けているが、これらに利用されているのがBOSSをベースにしたRODOSである。
ただし、RODOSの開発はDLRのみならずヴュルツブルク大学の航空宇宙情報学科(Aerospace Information Technology)も協力しており、それもあって現在は、RODOSの公式な配布元はヴュルツブルク大学となっている。
Copyright © ITmedia, Inc. All Rights Reserved.