マイクロカーネル方式とリアルタイム性能:LinuxによるRTOSの実現(2)(1/3 ページ)
シンプルなリアルタイムカーネル上でLinuxを動作させるマイクロカーネル方式。その具体的な実装やリアルタイム性能を検証する
第1回では、リアルタイムLinuxのさまざまな実現方法について述べた。今回は、マイクロカーネル方式を中心に性能比較なども交えて説明する。
マイクロカーネル方式とは
マイクロカーネル方式の実装としては、RTLinuxとRTAIが有名であり活用例も多い。
RTLinuxは、FSMLabs(http://www.fsmlabs.com/)が提供しているハードリアルタイムLinuxシステムである。商用版のRTLinuxProとオープンソース版のRTLinux/GPLがあるが、今回は広く入手可能なオープンソース版を評価する。
一方、RTAI(Real-Time Application Interface)は、DIAPM(Department of Aerospace Engineering of Politecnico di Milano)で開発され、オープンソースプロジェクトとして進化を続けている(http://www.rtai.org/)。現在は、Adeosと呼ばれるナノカーネル上にLinuxカーネルが実装されている。将来的には、「fusion」と呼ばれるプロジェクトで以下のような機能が統合されていく。
- ユーザー空間のアプリケーションとしてハードリアルタイムを実現
- 既存のRTOSのAPIをスキンと呼ばれる仕組みで統合
特に後者については、RTAI独自のAPIおよびPOSIX APIに加えて、μITRONやVxWorksなどの互換APIへの取り組みも散見される(注)。このように、fusionは非常に興味深いが実験的なリリースであるため、今回はRTAIの最新開発版を評価する。
マイクロカーネルの役割
RTLinux、RTAIともに、Linuxカーネルはマイクロカーネル(またはナノカーネル)の上で動作する。このマイクロカーネルを、RTLinuxは「Realtime executive」、RTAIは「Adeos」と呼んでいる。
マイクロカーネルの主な機能は以下の3つである。
以上のように、ハードリアルタイムな制御はマイクロカーネルの管理下で行い、ネットワークやマルチメディアなどの機能はLinuxカーネル(タスク)の管理下で実現する。これにより、リアルタイム性と豊富な機能を兼ね備えたシステムを構築できる。
Copyright © ITmedia, Inc. All Rights Reserved.