スタンドアロン方式とリアルタイム性能:LinuxによるRTOSの実現(3)(3/3 ページ)
リアルタイム機能をLinuxカーネル自身で実現するスタンドアロン方式。この方式の具体的な実装やリアルタイム性能を検証する
ジッターによる性能評価
マイクロカーネル方式と同様に、ジッターを測定することでスタンドアロン方式の性能を評価した。
リアルタイム・プリエンプションの測定結果
評価に使用したハードウェア構成は以下のとおり。前回と同様である。
- CPU:Pentium M 866MHz(400MHzに固定して使用/BogoMips:約798(編注))
- メモリ:360Mbytes
ソフトウェア環境は以下のとおり。リアルタイム・プリエンプション・パッチを適用したカーネルで測定を行った。
- カーネル:2.6.12
- リアルタイム・プリエンプション・パッチ:2.6.12-final-V0.7.50-17
測定方法も前回と同様である。hackbenchによってシステムに負荷を掛けた状態で、rtc_wakeupを用いてジッターを測定した。
測定結果をグラフ化したものが下の図である。
前回測定したupstreamカーネルの測定結果と比較して、特異的なジッターもなく振れ幅も少ない。測定結果から算出した数値を下表にまとめる。
スタンドアロン方式の今後の課題
リアルタイム・プリエンプション・パッチは、Linuxカーネルのリアルタイム性を著しく向上させるが、課題も多い。例えば、サポートされているCPUの種類が少ないことや、ユーザープログラムへのAPIが用意されていないことが挙げられる。前者は組み込み用途では大きな課題である。後者については、OSDLのRobust Mutexとの融合がMutexes SIGで検討されている。Robust Mutexでは、ユーザープログラムに優先度継承や優先度上限プロトコルを備えた同期プリミティブが提供される。現時点では、リアルタイム・プリエンプション・パッチとRobust Mutexを同時に用いると、それぞれの優先度継承機能が干渉して予期せぬ振る舞いを引き起こす弊害が考えられる。
これらの課題を解決してupstreamカーネルに取り込まれるのはしばらく先かもしれないが、興味深い機能として注目していきたい。
Copyright © ITmedia, Inc. All Rights Reserved.