組み込み開発を支えるJava技術

2010年8月4日(水)
一瀬 成広

ここ数年、携帯電話だけでなく、あらゆる組み込みシステムにおいて、Javaの採用が進んでいます。例えば、すべてのBlu-ray Discプレーヤには、標準で組み込みJavaが搭載されています。米GoogleのAndroid OSも、Javaの技術を取り入れています。

本連載では、組み込みシステムからみたJavaのメリットと仕組みについて、現在注目されているJava技術であるOSGiを絡めて説明します。

Javaを組み込み開発に採用するメリット

Javaというと、「動作が遅く、メモリーをたくさん使うため、組み込みでは使えない」という声を、今でもよく聞きます。ある意味においては、この説は間違ってはいません。例えば、リソースが乏しくてリアルタイム性が重視される用途には、向いていません。

しかし、NTTドコモがJava搭載の携帯電話を出荷したのは、2001年のことです。それから10年が経過しています。CPU性能は大きく向上し、メモリー搭載量も大幅に増えています。今では、情報家電、車載機器、OA(Office Automation)機器、産業機器など、各種の分野において、当時の携帯電話をしのぐ性能を持った機器が、当たり前のように使われています。

組み込みJava自体も、ガベージ・コレクションの改善やJIT(Just In Time)コンパイラの導入などにより、性能が確実に向上しています。そうです、Java VM(Java仮想マシン)に関する性能面での問題は、すでに過去のものになりつつあるのです。

しかし、性能の問題が解消されたといっても、それだけでJavaの採用が進むわけではありません。大前提として、Javaそのものに、組み込みシステムに採用されるだけの大きな魅力があるのです。魅力とは、Javaが仮想マシン(VM)上でアプリケーションを動作させるために備えている、以下の2つの特長です。

  1. アプリケーションが任意のメモリー空間に自由にアクセスできないため、システムとして高いセキュリティを保つことができる
  2. ハードウエア構成やOSが異なる複数の機器の上で、1つのアプリケーションをそのまま動作させることができる

図1: Javaの特長

Javaが備える2つの特長は、第三者が開発したアプリケーションを製品出荷後に追加することを前提とした機器にとって、特に有益です。そうです、まさに携帯電話のような機器にとって有益です。米GoogleのAndroid OSにも、Dalvik VMと呼ぶ、Java技術を基にしたVMが採用されていますが、これも、Javaが備える2つの特長を考慮に入れた上での選択です。

これ以外のケースでも、例えば、複雑なアプリケーションを動作させる機器において、Javaは有益です。もともとJavaは、ガベージ・コレクションに代表されるように、生産性を考慮して設計された言語です。また、プラットフォームに依存しないという特長は、作成したアプリケーションの再利用性を高めます。エンタープライズ(企業情報システム)分野でJavaがよく利用されているのは、この生産性の高さが理由です。

日立ソフトウェアエンジニアリング株式会社

1997年の入社来、組み込みJavaを中心に担当。現在、日立ソフトの組み込みJava製品「SuperJ Engine」組み込み向けOSGi実装「SuperJ Engine Framework」の開発取り纏めを担当している。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています