01 Android起動の全体分析

Android 起動の全体的な分析

1. Android システムの全体的なアーキテクチャ

Android は、Google によって開発された Linux ベースのオープンソース オペレーティング システムです。

ここに画像の説明を挿入

PowerManagement: システムの最下層は電源管理であり、電源がオンになっている場合にのみシステムをオンにできます。

Linux カーネル: ドライバー層。オーディオ、Carmera、USB などのさまざまな周辺機器用のドライバーが含まれます。

HAL 層:ハードウェア抽象化層。HAL は、ハードウェア ベンダーが実装する標準インターフェイスを備えた抽象化層です。
ハードウェア抽象化レイヤー (HAL) は、デバイスのハードウェア機能を高レベルの Java API フレームワークに公開する標準インターフェイスを提供します。HAL はいくつかのライブラリ モジュールで構成されており、各ライブラリ モジュールはカメラや Bluetooth モジュールなどの特定の種類のハードウェア コンポーネントへのインターフェイスを実装しています。フレームワーク API がデバイス ハードウェアへのアクセスを必要とする場合、Android システムはそのハードウェア コンポーネントのライブラリ モジュールを読み込みます。

Android ランタイム: (ART) AOSP によって提供される Java ランタイム環境。ART は、アプリケーションのバイトコードをプロセッサ固有の命令に変換し、デバイスのランタイム環境によって実行されます。
Android 5.0 (API レベル 21) 以降を実行しているデバイスの場合、各アプリは独自のプロセスで実行され、Android ランタイム (ART) の独自のインスタンスがあります。ART は、メモリをほとんど使用しないように最適化された Android 用に設計されたバイトコード形式である DEX ファイルを実行することにより、メモリの少ないデバイス上で複数の仮想マシンを実行するように作成されています。コンパイル ツールチェーン (Jack など) は Java ソース コードを DE にコンパイルします。

おすすめ

転載: blog.csdn.net/Johnny2004/article/details/130805087