ITRON? Android? Windows Embedded? 〜OS移行のメリットとOS選定のヒントを探る〜【後編】特集・組み込みOS採用事情(2/2 ページ)

» 2011年07月27日 12時38分 公開
[八木沢篤,@IT MONOist]
前のページへ 1|2       

1.「対応デバイス」から見たOS選定のポイント

  • Android: 
    Androidはスマートフォンやタブレット端末向けのOSだけあって、各種通信デバイス(3G、Wi-Fi、Bluetooth、NFCなど)に標準で対応している。また、GPSや加速度センサー、磁気センサー、2D/3D描画支援ハードウェアなどにも対応している。さらに、Linuxがベースなので、Linux向けに開発されたドライバを流用することが可能。ただし、例えば、既製品のタブレットに専用ドライバを追加するような開発は難しい(タブレット用のAndroid開発環境(BSP)が提供されない可能性があるため)
  • Windows Embedded Compact 7: 
    各種通信デバイスに対応。センサーデバイスに関しては、ストリームインタフェースドライバとして実装する必要がある。2D/3D描画支援ハードウェアもサポート
  • Windows Embedded Standard 7: 
    デバイスドライバは基本的にWindows 7のドライバをそのまま使用可能。また、センサーデバイスに関しては、専用のインタフェースとして、多様なセンサーを統一して扱えるAPI群「センサー&ロケーション」が用意されている。2D/3D描画支援ハードウェアもサポート
対応デバイス(1) 図4 対応デバイス(1)
対応デバイス(2) 図5 対応デバイス(2)

 以上のことから、対応デバイスという観点ではそれほど差異はないといえる。OS選定のポイントとしては、「既存資産やドライバの有無」がカギとなるだろう。ただし、開発規模という意味では、Standard 7よりもAndroidが大変であるし、AndroidよりもCompact 7の方が大変であるといえる。

2.「セキュリティ」から見たOS選定のポイント

  • Android: 
    Androidのアプリケーションはサンドボックス(sandbox)モデルが採用されている。1つのアプリケーションが1つのDalvik VMのプロセスとして実行され、原則、他のプロセスにアクセスすることはできない。カメラや電話帳といった他の機能へのアクセス(プロセス間通信)はユーザー許可が必要となる(逆にユーザー許可が取れれば何でもできてしまう)。ログインという観点では、マルチユーザーではなく、シングルログイン(パスワード設定可)。また、最近では脆弱性の問題も多発しており、サードパーティー製のセキュリティソフトウェアなどもリリースされている
  • Windows Embedded Compact 7: 
    アプリケーション認証、OS認証の仕組みが標準で備わっている。マルチユーザーのログイン制御が可能(ただし、ユーザーに応じた実行権限の設定などはできない)、ウイルスについては2004年(当時のCE)に一度、警告が出されただけでほとんど発生していない
  • Windows Embedded Standard 7: 
    Windows 7ベースなので、ログイン制御やログインユーザーごとの実行権限の設定が可能。特定のプログラムの実行を禁止する「App Locker」によるアプリケーション実行制御や、Windows Embedded Standard独自の「Write Filter」によるメディアへの書き込み保護機能を備える。また、サードパーティー製のセキュリティソフトウェアなどもリリースされている
セキュリティ(1) 図6 セキュリティ(1)
セキュリティ(2) 図7 セキュリティ(2)

 ここでの選定のポイントは、「どのような使われ方をするのか?(要件として、パブリックなネットワークに接続する必要性など)」という点だ。また、もしAndroidを採用した場合だと、自由にアプリケーションをダウンロードして実行できてしまうので、それを防ぐような仕組み(Standard 7でいうApp Lockerの仕組みなど)が必要になってくる。

3.「コネクティビティ」から見たOS選定のポイント

  • Android: 
    Androidは基本的にクライアント向けのプラットフォームである。Googleが提供する各種サービスにアクセスしやすく、Webブラウザ用のレンダリングエンジン「WebKit」ベースのフルブラウザや、豊富なJavaライブラリにより各種Webサービスにもアクセスしやすい。課題としては、無線LANでアドホック通信が標準でできない点が挙げられる。対応するには、カーネルに手を入れなければならない
  • Compact 7&Standard 7: 
    こちらも基本的にはクライアント向けのプラットフォーム。Webサーバ、FTPサーバ、ファイル共有機能などを標準で搭載する。Internet Explorer 7ベース(Compact 7)/Internet Explorer 8ベース(Standard 7)のブラウザを搭載。リモートデスクトップ機能など、オフィス内のデスクトップPC/サーバなどとの接続性が容易
コネクティビティ 図8 コネクティビティ

 要件として、オフィス環境などにある「デスクトップPC(Windows OS)との親和性」という点ではCompact 7&Standard 7が最適だといえる。つまり、そのような用途の有無を考慮して選択すべきであるといえる。

4.「開発環境」から見たOS選定のポイント

 開発のしやすさは、そのツール(開発環境)にどれだけ慣れ親しんでいるかでも左右されるため、ここでは詳細は割愛し、各OSでの比較した図を以下に示す。

開発環境比較 図9 開発環境比較

結論

 ここまで、各観点におけるOS選定のポイントや留意点を紹介してきたが、機能面でいってしまうと、正直なところ、AndroidもWindows Embedded OSも“大きな差異はない”といえる。例えば、以下のように、Androidでできることは、Windows Embedded OSでもほぼ対応することができる(その逆もそうだ)。

Androidでできることは、Windows では できないのか? 図10 Androidでできることは、Windows では できないのか?

 ただし、「何だ。じゃあ、はやっているし“Android”で!」と飛び付くにはリスクがある。最低限、ここで紹介したような特徴や懸念点を把握しておくべきであるし、やはり、実現したいシステムの要件、例えば、リアルタイム性の有無やWindows PCとの連携の有無、さらには、既存資産(例えば、Linuxの資産)がどれだけあってどれだけ再利用できそうか、開発のしやすさはどうか(環境に対する慣れ)、いくら開発に投資できるか、ソフトウェア部品などを購入することでリードタイムを短縮できるかなどを考慮した上で、OSを選定することが重要だといえる。



 以上、前回と今回で、日本マイクロソフトのセミナー「組み込み開発者セミナー 〜Android、Linux、ITRONなどのオープンソースを考察する〜」に登壇した安川情報システムの講演内容を基に、ITRONからCompact 7へ移行するメリット、AndroidとWindows Embedded OSとの機能面から見た違いについて紹介した。

 実現したいシステムの要件を自身で把握することは比較的容易かもしれないが、各種OSからそのシステムに最適なものを選択するのには慎重な判断が必要となってくる。ただ、そうはいっても全てのOSの特徴を隅々まで把握することは難しいため、今回のような商用OSベンダーが主催するセミナーや勉強会などを活用して、情報収集をするのも1つの手段だといえる。この手のセミナーでは、最新製品の説明だけでなく、次世代製品を含めたロードマップなども紹介されることもあるので、求めている(欲しい)機能が実装されるタイミングを知ることができるし、自身のシステム移行のタイミングを検討する上での判断材料を集める良い機会になるだろう。

 本特集(【前編】・【後編】)で紹介した内容が、ますます高度化する組み込みシステム開発におけるOS移行やOS選定のヒント、助けになれば幸いだ。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.