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