Android システムアーキテクチャとは?構成要素を図解
Androidのシステムアーキテクチャには、主に次のコンポーネントが含まれています:
- Linuxカーネル:AndroidシステムはLinuxカーネルをベースに構築され、低レベルのハードウェアドライバーやシステムリソース管理機能を提供しています。
- ライブラリ:Androidアプリケーションに必要な機能を提供する、グラフィックスの描画、データベースアクセス、ネットワーク通信などC/C++ライブラリの一連を含んでいます。
- アンドロイド実行環境(アンドロイドランタイム)は、ダルビック仮想マシン(Android 5.0以降は徐々にART仮想マシンに置き換わっています)を含み、Androidアプリのバイトコードを実行する役割を担っています。
- アプリケーションフレームワークは、開発者が活動管理、リソース管理、通知システム、コンテンツプロバイダーなどを含むアプリケーションを簡単に作成できる豊富なAPIやサービスを提供しています。
- アプリケーション:システムに最初からインストールされているものやユーザーが独自にインストールしたもの、例えば連絡先、ブラウザ、カメラ、メールなど。
- ユーザーインターフェース:システムのUIコンポーネントとユーザーインタラクションインターフェースを含むもので、ウィンドウマネージャ、入力法、通知バーなどがあります。
- デバイスハードウェア抽象化レイヤー(HAL):Androidシステムとハードウェアドライバーの間で通信を行うための標準インタフェースを提供します。
- カーネルハードウェア抽象化レイヤー(KHAL):AndroidシステムとLinuxカーネルとのインターフェイスを提供し、異なるハードウェアプラットフォームでAndroidシステムを実行できるようにします。