Real Time Operating System

 ある時間内に応答することが要求されるシステムをリアルタイム・システムと呼ぶ。そのなかでも応答時間の要求が特に厳しい処理をハード・リアルタイム処理,応答時間の要求が緩やかな処理をソフト・リアルタイム処理と分類している。

 リアルタイムOSは,ハード・リアルタイム処理に適したOSである。パソコンやサーバーなどが搭載しているOSに比べると,リアルタイムOSではプロセス(処理の実行単位)実行時間のスケジュールを極めて厳しく管理する。このため,応答時間や処理時間などを高い精度で予測できる。また複数のタスクを並行して処理するマルチタスク制御,複数の事象(イベント)が発生したときの優先度処理などの機能を備える。

 リアルタイムOSは通常,応答時間の要求が厳しい組み込み機器に搭載される。組み込み機器はマイクロコントローラ(マイコン)やメモリなどのハードウエア資源が限定されている。このためリアルタイムOSには,応答時間の厳密さといった本来の機能のほか,高性能(高価)なマイコンを使わずに済むこと,プログラム・メモリが少なくて済むことなどの仕様が要求されることが多い。

 国内の組み込み機器はリアルタイムOSとして,「μITRON仕様OS」を搭載することが多い。トロン協会が仕様を策定しており,誰でも使える手軽なOSである。市販のリアルタイムOSとしては,米ウインドリバーシステムズ社の「VxWorks」やカナダQNXソフトウエアシステムズ社の「QNX Neutrino」などがある。

 組み込み機器は現在では,ネットワーク接続機能やグラフィカル・ユーザー・インタフェースを備えることが多くなってきた。リアルタイムOSは,こういった処理を苦手とする。そこでWindows OSやLinuxなどのコンピュータ用OSを別に搭載し,ネットワーク処理やユーザー・インタフェース処理を担わせている。例えばリアルタイムOSに実装したミドルウエアの1つとして,Linuxを動かす。あるいはその逆である。

 ただしこの状態だと,処理の優先度がどちらかのOSに固定されてしまう。そこでリアルタイムOSとコンピュータ用OSを協調動作させ,必要に応じて処理の優先度を切り換える仕組みが開発されている。例えばイーソルは,二つのOSを協調動作させるブリッジ・モジュールを開発した。


リアルタイムOSとコンピュータ用OSを協調動作させる
μITRON準拠のリアルタイム・カーネル「T-Engine」とWindows CEを協調して動かすブリッジ・モジュール「TWister」の例。(イーソル社の資料を基に本誌が作成)