Linuxでハードリアルタイムを実現するもう1つの選択肢「Xenomai」:リアルタイムOS列伝(35)(3/3 ページ)
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第35回は、第27回で取り上げた「RTAI」と同じくLinuxでハードリアルタイムを実現する選択肢となる「Xenomai」を紹介する。
今から試すなら「Xenomai 4」が無難、ただし……
このXenomai 3.x台の性能ベンチマークが図8である。縦軸がサンプリング頻度、横軸がUser Taskがウェークアップするまでのレイテンシということになる。Xenomaiを使うと、Isolationの場合でもレイテンシの最悪値が20μsほど縮まっており、Isolationなしだと最悪値だけでなく平均値でも大幅にレイテンシが削減され、当然サンプリング頻度も大幅に向上した、としている。どんな処理をさせるかにもよるのだろうが、Cortex-A9でこの数字はそう悪くないものに思える。
さて、Xenomai 3までは公式Webサイトはhttps://source.denx.de/Xenomai/xenomaiだったのだが、Xenomai 4からはhttps://evlproject.org/に移った(図9)。当初はevl projectという名称だったのが、Xenomai 4に改称している。もともとはCobalt coreをベースにEVL coreと呼ばれるものを開発しており、またI-pipeをベースにしたDovetail I/Fと呼ばれるものも新たに開発された。これらが最終的にXenomai 4になった格好だ。
ただし、バージョンは5.10から始まり(それ以前のものもあるはずだが、見つけられなかった)、最新版は6.2となっている。対応しているのは原則Arm64およびx86(というかx64)のみである。Xenomai 4の公式Webサイトには、対応しているSoCおよび評価ボードが紹介されており、決して多いとはいえないのだが、少ないサポートメンバーでここまで対応できているのは評価すべきかと思う。
そもそも、Xenomai 3で登場したMercuryを捨てた理由だが、頻繁にバージョンが上がるLinuxカーネルに追従していくには、全部書き換えるMercuryよりもパッチを当てる形で既存のLinuxカーネルも利用できるCobaltの方式の方がメンテナンスも楽であり、またSMP対応などもこちらの方が容易という判断、とのことであった。
ちなみにXenomai 3はまだサポート対象であるが、Xenomai 2に関しては2018年の時点でサポートが終了しており、そもそも対象となるLinuxカーネルのバージョンも古いので利用はお勧めできない。Xenomai 3についても、対応するLinuxカーネルは4.x台と古いので、今から試してみるのであればXenomai 4が無難だと思う。理屈から言えばXenomai 4も図5のように別のRTOSを実装することも可能だが、APIのマニュアルを見ているとそうした使い方ではなく、直接EVL coreのAPIを呼び出してハードリアルタイムの処理を行うことを前提としているようだ。
Linux環境でのハードリアルタイム併用が必要という場合に、RTAI以外の選択肢になるのがXenomaiである。問題はライセンスがGPL 2.0ということだ(これはRTAIもそうだが)。製品に利用するには、ちょっといろいろ大変かもしれない。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 連載記事「リアルタイムOS列伝」バックナンバー
- 異色の分散システム向けRTOS「Virtuoso」の30年にわたる系譜
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第34回は、分散システム向けRTOSとして約30年展開されてきた「Virtuoso」「OpenComRTOS」「VirtuosoNext」を紹介する。 - 150年間使い続けられるRTOS「RODOS」はドイツの人工衛星に欠かせない
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第33回は、ドイツの人工衛星に欠かせないRTOS「RODOS」を紹介する。 - アマゾン買収から2年半、「Amazon FreeRTOS」は最も手頃なRTOSに
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第2回は、アマゾンの買収によってRTOSのメインストリームに躍り出た「Amazon FreeRTOS」について紹介する。 - かつて米軍に重用されたRTOS「RTEMS」、今や航空宇宙分野で揺るぎない地位に
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第11回は、かつて米国の軍需向けで重用されてきたRTOS「RTEMS」を紹介する。現在は軍需ではなく、航空宇宙分野向けフリーRTOSの座を射止めている。 - 「ThreadX/Azure RTOS」の悔恨から生まれた「PX5 RTOS」はできたてほやほや
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第32回は、2023年1月にリリースされたばかりのRTOS「PX5 RTOS」を紹介する。