写真1 NTTドコモのAndroid搭載機「HT-03A」
写真1 NTTドコモのAndroid搭載機「HT-03A」
[画像のクリックで拡大表示]
図1 Androidのソフト構成
図1 Androidのソフト構成
[画像のクリックで拡大表示]
 Androidは,携帯電話用に開発されたOSおよびミドルウエア,アプリケーションをセットにしたソフトウエア群である。米Google社が開発し,オープンソース・ソフトとして提供されている。

 Androidを構成するソフトには,携帯端末向けに改良されたLinuxカーネルとミドルウエア,アプリケーションの実行環境,開発環境であるアプリケーション・フレームワーク,アプリケーションがある。

 Androidが対応しているCPUは,英ARM社のARM系,米Intel社のx86系の2種類。ただ,Androidはオープンソースとして提供されているため,他の機器に移植することもできる。日本ではNTTドコモがAndroid搭載第1号機として2009年7月に「HT-03A」を発売した(写真1)。

 Android用アプリケーションは,Java言語で開発する。統合開発環境の「Eclipse」を利用する。Eclipse用に,開発を補助するためのプラグインが提供されている。

 開発したアプリケーションは,「Androidマーケット」と呼ぶ米Google社が提供するサービスを介して,無料または有料で一般に配布できる。

 Androidを構成するソフト群は,5つの部分に分かれる。(1)Linuxカーネル,(2)標準的なライブラリ,(3)Androidラインタイム(アプリケーションを実行するための実行環境),(4)アプリケーション・フレームワーク,(5)アプリケーション,だ(図1)。

 Linuxカーネルには,Android用に独自ドライバが追加されている。例えば,メモリーが不足したときに,不要なプロセスを自動的に停止する「Low Memory Killer」だ。メモリーが少ない携帯端末用に必要となるものである。

 Androidランタイムには,独自のJavaVMである「Dalvik VM」を用意している。JavaVMと同様にメモリー管理やガベージ・コレクションを実装している。JavaVMとの違いは,CPU内部のレジスタにデータを格納して演算処理する構造であること。これにより,高速化と使用メモリーの削減を図っている。

 アプリケーション・フレームワークとしては,アプリーション同士がデータを共有する際に必要な「ContentProvider」やパッケージ管理機能を提供する「Package Manager」など各種フレームワークを用意している。