Androidへの移行が最も難しいのはリアルタイムOS(RTOS)です(図6)。ただし、難しいと言っても、適切な移行方法は定まっており、採るべき手順は見えています。まずはLinuxベースへの移行を試み、そこからJavaベース、あるいはAndroidベースに移行します。RTOSはプロセスのようなモデルを持っておらず、タスクという低レベルな実行体がメッセージをやりとりしながら動作するので、Linuxの様式に合わせる作業はそれなりに骨が折れるでしょう。
最も重要なポイントは2つあります。まず、RTOSを採用しているシステムの多くが一部のソフトウェアに厳しいリアルタイム性を課していること、そして、現実問題として、RTOSベースのシステムはメモリが少ないなど、ハードウェアリソースの制限がより厳しいということです。
Androidのリファレンス実装はリアルタイム性を考慮していません。そのため、リアルタイム性を保持しなければいけないソフトウェアが存在する場合、リアルタイムスケジューラを搭載したLinuxを使用するか、仮想化によりリアルタイム処理とAndroidを分ける必要があります。
2番目の問題は深刻です。リソースの不足については、ある程度から先はどうしようもありません。例えば、震災後に必要になった節電を助ける機器を作ろうとしたとしましょう。電力を測り表示するような単純な機器(テスターなど)をAndroid化する余地はありません。
ただし、方法が無いわけではありません。今後、Android端末は家庭にどんどん増えていき、シンクライアントとして活躍するとみられています。ならば、その端末に、測定機器と通信できるアプリケーションをインストールできれば、Androidによる可視化が実現します。そしてクラウドとも連携することで、より大きく便利なサービスを提供できることでしょう(図7)。
これからの組み込み機器を考えた場合、このような考え方が重要です。宅内でもオフィスでも、コンピューティングは形を変えつつあります。今までのPCや携帯電話機の何十倍もの数のAndroid端末が、今後数年の間に世の中に出ていき、あらゆる場面で利用されることになるでしょう。組み込み機器に適切なソフトウェア構成を決めるときには、このような来るべき変遷を踏まえた、単なる1つの組み込み機器の改良にとどまらない大きな絵を描くことが不可欠といえるでしょう。
金山二郎(かなやま じろう)氏
株式会社イーフロー統括部長。Java黎明(れいめい)期から組み込みJavaを専門に活動している。10年以上の経験に基づく技術とアイデアを、最近はAndroidプログラムの開発で活用している。
Copyright © ITmedia, Inc. All Rights Reserved.