ちなみにこのADEOSそのものはRTAIとは無関係である。こちらはOpersys創業者であるKarim Yaghmour氏が開発したもので、GPLの形で提供されている。このADEOSの上でRTOS環境を提供しよう、というのがRTAIであり、プロジェクトそのものは2002年9月に発表された。
発表自体は2002年ではあるものの、その前身は1999年にスタートしている。当初は「PCDOS-DIAPM-RTOS」という名称で、名前の通りMS-DOSとRTOSが共存するもので、動作も16ビットのリアルモード(8086と互換の動作モード)だった。これをLinux(当初のターゲットはKernel 2.0.25)に移行するとともに、32ビットモードに移行させたのが「DIAPM-RTL VARIANT」と呼ばれるトライである。これをベースにLinux Kernel 2.2.xにカーネルパッチを充てる形で開発されたのが「RTHAL-RTAI」で、ここまでは1999年に実装されている。これをベースに、最初のRTAIが1999年4月にリリースされたものの、2001年1月に先述したRT-Linuxの特許が成立したことで、内部的な研究はともかくとして外部にリリースするソフトウェアとしてはこれを利用しにくくなっていた。RTHALが思いっきりこの特許に抵触していたためだ。ところが2002年にADEOSがリリースされたタイミングで、RTHALをADEOSに置き換えて、特許抵触から免れることに成功した。かくしてADEOSを利用する形でRTAIが公式にリリースされることになる。
余談になるが、このRTAIとよく似た物に「Xenomai」がある。こちらは2001年4月に始まったプロジェクトで、やはりLinuxと共存する形で動作するリアルタイム環境のフレームワークである。似ているということで一度はRTAIにプロジェクトが統合されるものの、目指しているものが微妙に違うということで2005年に再び分離している。RTAIとXenomaiの違いを示したのが図4で、その結果としての両者の特徴をまとめたのが図5である。RTAIのメリットは性能の高さ(特に割り込み処理時間の短さ)であり、本当にハードリアルタイムを実現するならRTAIの方が有利、というわけだ。
ちなみにRTAIには割り込みのレイテンシを測定するツールも用意されており、ベストケースの数字も出ている。平均だと3.2μsec、最大でも9.8μsec程度(図6)に抑えられている。ただワーストケース(図7)だと1.3msec程度まで悪化する。RTAIを入れれば簡単にハードリアルタイムが実現できるわけではなく、それなりにシステム構成を考えないとハードリアルタイムにならないということは、当然とはいえるが気を配る必要があるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.