クラウド時代の組み込みシステム開発における今とこれから
昨今,組み込みシステムは機能が複雑になり,複数の処理を同時に行うケースが増えてきています.そこで,リアルタイムOS と汎用OS を組み合わせたマルチOS やマルチコア・プロセッサの利用が検討されています.ここでは,クラウド時代に入り,ますます複雑化する組み込みシステム開発の今とこれからを解説します.
●クラウド時代における組み込みシステムの重要性
クラウド時代が幕を開け,この2年の間に老舗リアルタイムOSメーカの勢力図も変化しました.たとえば,2009年6月には米国インテルが組み込み市場における競争力を強化することを目的に米国Wind River Systemsを買収し,その後,フィンランドのノキアと携帯端末で提携しました.また,2010年4月にはカナダのResearch In Motion(RIM)がスマートフォンと車載情報システムの連携および強化を目的にカナダのQNX Software Systemsを買収しました.この二つの買収劇からわかることは,これからのクラウド時代における組み込みシステムの位置づけがいかに重要であるかということです.つまり,今後はPC ではなく,携帯端末はもちろん,自動車や家電までもがクラウドへの入口となることが予想されるでしょう.
●リアルタイムOS,マルチコア・プロセッサの状況
最近のリアルタイムOS のトレンドとして,特に自動車では,ドイツの自動車メーカを中心とする標準化団体AUTOSAR が中心となり,優先度ベース・スケジューリング(各タスクの優先度の高低で切り替えを実行する)からタイム・トリガ型スケジューリング(各タスクに一定の時間を割り当てる)への移行が試みられています.また,それに加えて,自動車の機能御安全規格であるISO26262の観点から,時間保護,メモリ保護,パーティショニング技術も要求されるようになりました.たとえば,フランスの政府系研究機関であるCEA-LIST は米国Delphi社のフランス法人と共同で,上記の要求をすべて満たした車載用のリアルタイムOS「PharOS」を開発しています.
また,マルチコア・プロセッサは組み込みシステムにおいても, ルネサスエレクトロニクスのSH2A-DUALやSH4A-MULTI など2コア・プロセッサはもはや当たり前になり,4コア・プロセッサもソニー・コンピュータエンタテインメントが次世代ゲーム機のNGP(Next Generation Portable)にARM Cortex-A9 coreを採用するなどすでに実用段階に入ったといえるでしょう(表1).
●マルチOS/ マルチコアの必然性と実現方法
最近の組み込みシステムでは,単一の機能を提供するものはだんだん少なくなり,ある処理をしながら別の処理も行うなど機能が複雑になってきています.このような場合,今まではシングルコア・プロセッサで一つのリアルタイムOSを使用して並行処理を行っていましたが,音声や映像の符号化のように処理の負荷が増えるとシングルコア・プロセッサでは処理能力をオーバーしてしまいます.また,動作周波数を高めると消費電力が増えてしまい,携帯端末には適しません.よって,動作周波数を高める必要のない,マルチコア・プロセッサが必要となるのです.マルチコア・プロセッサの利用方法には,各コアでそれぞれ別のOS(同じOSでもよい)を使用するAMP(Asymmetric Multi-Processing:非対称型マルチプロセッシング)と,ユーザにコアの数を意識させない形でOS を使用するSMP(Symmetric Multi-Processing:対称型マルチプロセッシング)があります(図1).
●リアルタイムOS+ 汎用OS の必然性
リアルタイムOS,汎用OSともにそれぞれ長所と短所が存在します.μITRONに代表されるリアルタイムOSは,時間を保証しなければいけない処理には適していますが,開発が難しく汎用性に欠けます.一方,Linuxに代表される汎用OSは,その名のとおり汎用性に優れており,開発もしやすいですが,処理時間を保証する機能はありません.よって,それぞれの長所を組み合わせることが求められます.
たとえば,Androidが採用されたスマートフォンの場合,メールやブラウザ,音楽・ビデオプレーヤ,カメラなどのアプリケーション部の制御はAndroidで行われています.しかし,AndroidはLinuxカーネルを基盤としているため,携帯電話回線網を使用する通信のように時間を保証しなければいけない制御には不向きです.よって,通信部の制御にはリアルタイムOS,アプリケーション部の制御には汎用OSが利用されています(図2).
具体例を挙げると,オーストラリアの公的機関であるNICTA(National ICT Australia)の発表によれば,多くのスマートフォンに採用されている米国Qualcomm社のMobile Station Modem(MSM)チップセットでは,通信部の制御にはNICTA が開発したL4マイクロカーネルを基盤としたリアルタイムOSが採用されているとのことです.
●なぜハイパーバイザが,今注目されているのか
上記のように今後マルチOS/ マルチコア・プロセッサが主流となることは必然的です.しかし,2コア・プロセッサならまだしも,4コアや8コアになるとリアルタイムOSの開発や資源の割り当てなどが難しくなります.このようなときに役に立つのがハイパーバイザです.ハイパーバイザは仮想化機能の一種であり,OSに対して特定のコアやメモリ領域そして資源を提供したり,保護することができます.よって,一つのコアで旧世代のOSやソフトウェア部品を再利用しながら,別のコアで新しいOSやソフトウェア部品を動作させることが可能になります.
たとえば,4コア・プロセッサ上でμITRONとTOPPERSとT-KernelとAndroidを同時に動作させるということも可能になります(図3).具体例を挙げると,自動車のECU(Electronic Control Unit:電子制御ユニット)は高級車では70個以上も使われており,現在,それらを統合化するための活動が盛んに行われています.しかし,ECUによってはμITRONやOSEK OSなど様々なOSが使用されているため,アプリケーションだけを統合することは簡単にはできません.よって,このようなときにこそ,ハイパーバイザを使用すればOSも含めて1台のECUに統合することが可能になります.このように,マルチコア・プロセッサを使いこなすための技術がハイパーバイザであるといえるでしょう.
なかむら・けんいち
(社)組込みシステム技術協会 技術本部 プラットフォーム研究会委員長