PR

専用化が有利に働くことも

図2●組み込みシステムのパラダイム変化
ユビキタス時代に入り,従来型の組み込みシステムとは異なるパラダイムが生まれた。
図3●携帯電話のハードウェア構成の例
パソコンと似たハードウェア構成を採るようになった

 これらの四つの特性のなかで,(2)~(4)の三つはシステム開発を困難にする要素である。それに対して(1)は,システムを開発する上で有利に働く特性で,(2)~(4)を満たすために活用することができる。例えば,システムの特性にちょうど合致したリアルタイムOSを用いることで,必要なプロセッサの処理能力やメモリ容量を大幅に減らせる可能性がある。

 このことから組み込みシステム技術を,専用化されたシステムであるという特性を生かして,(2)~(4)の条件を満たすための技術だと位置づけることもできる。

 とは言え,システムごとにリアルタイムOSを開発していてはコストが大きくなりすぎる。そこで,共通の要求を持ったシステム群を狙って,リアルタイムOSを開発することになる。例えば,極めて高い応答性が求められるが単純な機能だけで十分なシステム向けとか,メモリ容量の制約が非常に厳しいが処理性能はほどほどでよいシステム向けのリアルタイムOSが開発されるわけである。

 もう一つのアプローチは,システムごとの要求にあわせて最適化できるようなリアルタイムOSを開発することである。例えば多くのリアルタイムOSは,提供可能な機能のなかから,システムに必要な機能だけをピックアップして組み込む仕組みを持っている。また,システムの要求にあわせて,OS内部のアルゴリズムを変更できるようになっているものもある。このようなOSを,構成可能な(configurable)OSと呼んでいる。

急激に変貌する組み込みシステム

 組み込みシステムの多様性を反映して,使われる要素技術(例えば,プロセッサ,OS,ネットワーク)はさまざまである。筆者が付き合っている技術者からの要望も,多岐にわたる。

 例えば組み込みシステム向けのリアルタイムOSは,製品化されているものだけでも100種類を下らないと言われる。パソコン用OSが数種類に収束しつつあるのとは対照的である。同様のことは,プロセッサやネットワークについても見られる。組み込みシステムの技術者には,こうした多種多様な選択肢のなかから,対象とするシステムに合った要素技術をピックアップする能力が求められる。

 組み込みシステムの要素技術がバラエティに富むのは,システムの利用目的や利用の仕方に特化してハードウェアやソフトウェアを作り込むという事情があるからだ。また組み込みソフトウェア技術者は,電子系や機構系の技術者とコミュニケーションをとって仕様をすり合わせながら,ソフトウェアを開発しなければならない。開発過程における電子系や機構系の仕様の変更はけっして少なくないが,この変更をソフトウェアに的確に反映しないと所望の機能・性能を実現できない。

 こうした点が汎用システムの開発と大きく異なっている。汎用システムは,対象となるハードウェア構成がほぼ固まっており,多くのアプリケーションが必要とする最大公約数的な要求に合致するように設計される。このため,要素技術はそれほど多様にならない(図2(a)[拡大表示])。図2[拡大表示]は,汎用システムと組み込みシステムを,要素技術の多様性を縦軸にして位置づけたものである。組み込みシステムを大きく描いたのは技術の多様性を示すためだ。ただし,市場規模は汎用システムよりもかなり小さい。組み込みシステム技術は,広い技術領域に薄く分布しているわけである。

 筆者が最近強く感じているのは,汎用システム的な性格を帯びた組み込みシステムが最近になって登場しており,組み込みシステムの分化が進展しているのではないかということである(図2(b)[拡大表示])。この傾向は今後,ますます強まるだろう。このトレンドに応じて,組み込みソフトウェアの開発手法や開発基盤も,分化していかざるを得ないというのが筆者の時代認識である。

 汎用システム的な傾向を見せる代表格は携帯電話だ。携帯電話はすでに,電話をかけるため専用機とは言えなくなっている。Javaアプリケーションや音楽配信サービスを動かすプラットフォームだったり,電子メールの端末だったりと,汎用性を高めている。

 組み込みシステムの四つの特性についても,携帯電話には当てはまらないものが多い。例えばリアルタイム性。厳密なリアルタイム性が求められる無線制御や音声データの処理は,ベースバンド・チップと呼ばれる専用LSIが担う。そのため,メイン・プロセッサ(アプリケーション・プロセッサ)にはそれほどのリアルタイム性は求められない。すなわちリアルタイム性が必要な処理と必要ない処理を,別々のプロセッサに担当させている(図3[拡大表示])。これはパソコンと同じ構図である。パソコンではリアルタイム性が求められるDVDドライブ制御用に専用LSIを用意している。ここで,ベースバンド・チップやDVD制御用の専用LSIにもプロセッサ(場合によっては複数)が組み込まれており,LSI自体が一つの組み込みシステムと言えるほど大規模化・複雑化していることを強調しておきたい。

 今回は,組み込みシステムとは何かに言及した。次回からは,いよいよリアルタイムOSについて,ITRONやTOPPERSプロジェクトの経験をもとに具体的に論じたい。

高田 広章 Hiroaki Takada

名古屋大学大学院情報科学研究科 情報システム学専攻
東京大学の坂村健教授の研究室に在籍中からITRONプロジェクトに参画し,ITRON仕様のリアルタイムOSの開発と普及に務める。その後,豊橋技術科学大学を経て,現在は名古屋大学に在籍。研究テーマは,当初のリアルタイムOSから,徐々に組み込みシステム設計開発技術一般に広げている。最近では,ソフトとハードの境界分野に最も興味を持っている。自動車メーカとの共同研究を数年にわたって継続しており,組み込みシステムの適用分野の中では,自動車の制御システムが一番詳しい。