Compact 7は、最後の“CE”「Windows Embedded CE 6.0 R3」の後継に当たる32ビットCPU用リアルタイム組み込みOSで、マルチコアもサポートしている。また、Internet Explorer EmbeddedやRemote Desktop Protocol、NDIS(Network Driver Interface Specification)などのネットワーク系コンポーネントや、マルチタッチを新たにサポートしたタッチ&ジェスチャ、Silverlight for Windows EmbeddedなどのリッチUI(User Interface)系コンポーネントなど、およそ700以上ものソフトウェアコンポーネントが標準で付属しているため、プロダクトライン開発(派生開発)に適している。また、ITRONにはなかったセキュリティやパワーマネジメントに関する機能も標準で搭載されている。
このように、ネットワークやUIといった、今、当たり前のように求められる機能を提供するソフトウェアコンポーネントを標準で持っていないITRONと比較すると、コンポーネントが豊富なCompact 7の方が、高機能・多機能なものを短期間で開発することが可能だろう。また、Internet ExplorerやSilverlight、タッチ&ジェスチャといったWindowsで定評のある機能や、Windows系資産との親和性をうまく活用すれば、競合端末との差別化も期待できそうだ。
では、組み込みシステムでよく求められるリアルタイム性能はどうか。「Windowsだから遅い」というイメージも当然あるだろう。ここではあくまで“参考値”として、Windows Embedded CE6.0 R2環境での割り込み遅延時間、スレッドスイッチング遅延時間を紹介する。まずは、以下の図をご覧いただきたい。
いかがだろうか。この評価環境だと、高速とまではいかないが、遅過ぎて使い物にならないというレベルではないといえるだろう。割り込みの場合、最悪値で10〜20μsec程度、スレッドスイッチングで16〜32μsec程度となった。制約時間内に処理を確実に完了させなければいけないようなハードリアルタイム制御には不向きかもしれないが、コンシューマ機器など、用途によっては許容範囲ではないだろうか。
さて、ここまではCompact 7の強みということで、比較的良い面を中心に紹介してきたが、ここではCompact 7を採用する上での注意点を見ていきたい。
Compact 7を採用する上での注意点は、大きく3つある。1つは、ハードウェアの制約だ。Compact 7は、x86、MIPS、ARMの32ビットCPUのみをサポートし、かつCPUにMMU(Memory Management Unit)が必須となっている。
2つ目が、リアルタイム制御の限界だ。先ほどの例にもある通り、μsecオーダーの厳密なリアルタイム制御を要求することは実質不可能である。
また、豊富な機能を有する半面、フットプリントサイズが大きいという点が3つ目の注意点として挙げられる。OSイメージの最小構成でも約500Kバイトと、1チップマイコンの世界では許容できないサイズがCompact 7では必要となってしまう。つまり、ローエンドなシステムでは、Compact 7は不向きであるといえる。
ハードウェア性能を十分に確保できるという前提で、ITRON端末を高機能化させたいような場合には、(選択肢の1つとして)豊富な機能による製品差別化、開発効率向上への期待などからCompact 7に移行するメリットは十分にあるといえるだろう。しかし、Compact 7が必ずITRONに置き代わるものだというわけではない。リアルタイム性能、コスト、ハードウェアの制約、機能、生産量など、あらゆる要件を考慮した上で、「やはりITRONの方が向いている」という場合だってあり得る。
ITRONの弱みがCompact 7の強みであり、Compact 7の弱みがITRONの強みとも取れるため、実現しようとするシステムに何を求めているのか、その要件をきちんと分析した上で、OSを選択すべきである。
さて、次回【後編】では、安川情報システム 中田佳孝氏の講演を基に、AndroidとWindows Embedded OSとの機能面から見た違いについて紹介し、“OS選定のポイント”について考察したい。(【後編】に続く)
Copyright © ITmedia, Inc. All Rights Reserved.