 |
|
組込みLinuxを真のリアルタイムOSに
〜ユビキタスを実現する最先端テクノロジ〜 |
消費者向けデジタル機器のOSとして組込みLinuxを採用する動きが強まっている。だが、ソフトリアルタイムOSのLinuxではリアルタイム性を完全には確保できない。その課題に対して、組込みLinuxに積極的に取り込んできた富士通プライムソフトテクノロジ(以下富士通PST)が新たな技術を開発。機器メーカーからも熱い注目を集めている。 |
アテネ五輪をひかえ、薄型テレビやDVDレコーダの売れ行きが好調だ。携帯電話の多機能化もとどまるところを知らない。これらの市場で各社がし烈な開発競争を繰り広げているが、その背後で組込みOSもまた新たな局面を迎えている。組込みOSとしてLinuxを採用するケースが増えているのだ。
デジタル機器に搭載するアプリケーションは多機能化の一途をたどり、いまやPCのアプリケーション並みのユーザーインターフェイスや通信、AV(音響・映像)機能が求められる。そうなると、PC上で多機能性や堅牢性が証明されており、各種ミドルウェアやツール、ネットワークプロトコルが充実しているLinuxに魅力が出てくる。
日本には、「iTRON」というリアルタイム性に優れた純国産の組込みOSがあり、組込みOS市場で4割のトップシェアを持つ。ユーザーインターフェイスや通信、AV機能が充実している「Windows
CE .NET」とiTRONをハイブリッドにして1つの機器に組み込むケースもある。しかし、1つのシステムの中で2種類のOSを特性に応じて使い分けるのは技術的に難しく、開発負担が重くなる。機器メーカーは、デジタル機器向けにリアルタイム性と多機能性を兼ね備える組込みOSを求めており、その有力候補がLinuxなのだ。
機器メーカーの中には、組込みLinuxを標準化しようという世界的な動きがある。消費者向けデジタル機器市場で大きなシェアを持つ8社(注)が、2003年7月に「CE
Linuxフォーラム(CELF)」を結成したのだ。CELFの「CE」は「Consumer Electronics」を意味する。つまりCELFが目指しているのは、消費者向けデジタル機器に搭載する組込みLinuxの標準化である。
注:松下電器産業、ソニー、日立製作所、NEC、シャープ、東芝、蘭フィリップス、韓国サムスン。 |
デジタル機器では、PCなどと同様にオープン・マルチベンダ環境が求められる。例えば、A社の薄型テレビに搭載される「電子番組表」を操作してB社のDVDレコーダの録画予約を行うといったことが要求される。それには、アプリケーション基盤となるOS部分は標準化しておきたい。加えて、アプリケーション開発が大規模化する一方で開発期間がどんどん短くなっている現在、機器メーカーは従来のように組込みOSまわりまで自前で開発・保守していられない。市場ではぶつかり合う機器メーカーも、組込みLinuxの標準化では手を結ばざるを得ない。
CELFで1年にわたる協議の末、CE Linuxの初代仕様「CELF1.0」が策定され、現在レビュー公開中である。2004年夏にはオープンソースとして正式リリースされる見通しだ。CELFメンバーの顔ぶれを見れば、少なくともデジタル機器向け組込みOSとしてCE
Linuxが“デファクト”に近い位置にいるのは間違いないだろう。それを証明するように、大手組込みLinuxベンダの米モンタビスタソフトウェアもCELFに参画している。
もちろんCE Linuxは発展途上であり、CELF1.0もデジタル機器向け組込みOSとしては多くの課題を含んでいる。機器メーカーがデジタル機器向け組込みOSに求める要件は非常にシビアだ。CELFでは、
- 起動時間短縮
- 省電力化
- AV表現力向上
- システムサイズ削減
- セキュリティ/安定性向上
- リアルタイム性向上
と、Linuxに対して6つの課題が指摘されており、それぞれのワーキンググループが立ち上がっている。
6つの課題のどれをとっても重要だが、特に重要なのが最後のリアルタイム性向上である。リアルタイムといってもレベルがあり、デジタル機器に求められるのはマイクロ(100万分の1)秒単位の精密な時間管理のもとでプロセス処理を実行する「ハードリアルタイム」である。予測時間内でプロセス処理が終了せず余分な遅延時間が発生したり、逆に処理の開始が遅れたりすると、AVデータを高速処理するデジタル機器では「音楽再生時に音飛びがする」「動画再生時にコマ落ちする」といった問題が起こるからだ。
しかしLinuxは元来、リアルタイム処理であってもカーネル実行中は割り込みができない非リアルタイムOSである。CELF1.0は、「プリエンプティブルカーネル」(注)など、カーネル2.6で標準搭載された機能をカーネル2.4に統合している。
だが、それでもリアルタイム性を100%保証できるわけではなく、「ソフトリアルタイム」のレベルにとどまってしまう。機器メーカーはリアルタイム性を100%保証するための手段(リアルタイム処理プロセッサを搭載するなど)を別途用意する必要があり、コストや開発負担が増してしまう。
|
CELF1.0で採用されるリアルタイム機能 |
|
・ |
プリエンプティブルカーネル |
|
・ |
O(1)スケジューラ |
|
・ |
Interrupt Threads/Soft-IRQ Threads |
|
・ |
POSIX Timers |
|
・ |
POSIX Message Queues |
|
・ |
Priority Inheritance on User Mutexes |
|
注:これらで実現できるのはソフトリアルタイム(リアルタイム性を99.999%保証)であり、100%保証するハードリアルタイムではない。 |
しかし、ここにきてLinuxでハードリアルタイムを保証する有力な技術が登場してきた。富士通がカーネル2.6の利用を前提に開発し、CELFのワーキンググループや「Linux
kernel ML」に提案し、高い評価を得ている技術である。
Linuxでハードリアルタイムを実現するには、カーネル実行中でもリアルタイム処理は確実、高速に割り込めるようにしなければならない。富士通が提案する技術の骨子は、割り込み処理に優先レベルを設定し、リアルタイム処理は一般の割り込み処理よりも優先させるものだ。この技術により、割り込み処理のレイテンシ(latency:遅延時間)を1.5マイクロ秒にまで押さえ込むことにも成功(PowerPC
333MHz利用時)。ハードリアルタイムの保証を可能にしている。富士通の提案は、カーネル2.6を採用する次期CE Linuxに向けたCELFの協議でも取り上げられており、次期仕様で標準化される可能性も出ている。
 |
図1 富士通が提案するハードリアルタイム保証の特徴 |
富士通がこうした画期的な技術を開発できた背景として、グループ内でOS技術開発を担ってきた富士通PSTの貢献が見逃せない。富士通PSTは組込み分野での実績も豊富で、各種組込みOSのポーティング、ドライバ開発、アプリケーション、ミドルウェア開発を手掛けている。
富士通PSTは組込みLinuxにも早くから注目。Linuxエンジニアの育成にも努めてきた。300名以上のLinuxエンジニアを抱え、組込みLinuxの開発に必須となるカーネルレベルの技術に精通したエンジニアも数十名を擁する。Linuxエンジニアに関しては、国内ITベンダの中でも指折りの陣容を誇る。実際、富士通PSTは組込みLinuxを採用する機器メーカーのソフト開発をサポートしてきた実績を持ち、さまざまなデジタル機器でシステム起動時間の短縮やプロセス遅延時間の削減を成功させている。こうした開発サポートで培ったノウハウや技術が、富士通の技術提案にも反映されているのだ。
 |
図2 富士通PSTの組込みLinuxサポート |
|
富士通PSTの幅広いLinuxサポートソリューション |
富士通PSTの組込みLinux向け開発サポートの特徴は、Linuxを組込み用途にリファインするだけでなく、顧客に対して幅広いサポートソリューションを柔軟に提供できる点にある。これは組込みLinuxベンダとの大きな違いである。例えば、iTRONとLinuxのハイブリッド環境「DUET」(米Embedio社製)、組込みソフトウェア向けユニバーサル環境「intent」(英Tao社製)などのソリューション製品を取り扱い、独自にサポート体制を整えている。
DUETでは、iTRONのリアルタイム性とLinuxの多機能性、両方のメリットを享受できる。一般的なハイブリッドOSとは違い、LinuxとiTRONカーネルが一体化しているので、1つのスケジューラでLinuxとiTRONの両方を制御できるのが特徴である。iTRON上で開発された既存アプリケーションも流用可能である。一方のintentは、組込み向けアプリケーション向け実行・開発環境として、OSやCPUに依存しないユニバーサルな環境を提供する(詳しくは「組込み開発の常識を変えるintentの衝撃」を参照)。
富士通PSTの幅広Linuxサポートソリューションは、組込みLinuxの機能進化を早めるのに貢献しそうだ。CE Linuxの動向を含めて、今後の動向が注目される。
|