Android に Linux を選ぶ理由
- 強力なメモリ管理とプロセス管理スキーム
- 許可ベースのセキュリティ モデル
- 共有ライブラリのサポート
- 認定ドライブモデル
- Linux自体はオープンソースプロジェクトです
AndroidはLinuxではありません - ネイティブ ウィンドウ システムがありません
Linux の X Window System、Mac の Quartz for OX X は
Android では使用されません - glibc のサポートはなく、
glibc の代わりに Google 自身が開発した Bionic Libc のセットを採用しています。 - 標準的な Linux アプリケーション プログラムのセットは含まれておらず
、Linux システム カーネルを完全にコピーしていません。いくつかの Linux バグが修正され、ARM アーキテクチャに基づく Gold-Fish プラットフォームや Yaffs2FLASH ファイル システム
などの多くのコンテンツが追加されています。 - Linux を強化して独自のドライバーをサポートします
- Android Binder は、Android プラットフォーム間のプロセス通信機能を提供する OpenBinder フレームワークをベースにしたドライバーであり、
ソース コードは drivers/staging/android/binder.c にあります。 - Android 電源管理機能 (PM)標準 Linux 電源管理システムをベースとした、組み込みデバイス向けに最適化された軽量の Android
電源ドライバー管理システム。ソース コードは次の場所にあります。
kernel/power/earlysuspend.c kernel/
power/userwakelock.c kernel
/power/wakelock.c
kernel/power/consoleearlysuspend.c
kernel/power/fbearlysuspend.c
低メモリ管理は、必要に応じてプロセスを強制終了して必要なメモリを解放できる、Linux 標準の OOM (メモリ不足) メカニズムよりも柔軟です。ソースコードは drivers/staging/android/lowmemorykiller.c にあります。- 匿名共有メモリ (Ashmem) は、プロセス間で大規模な共有メモリを提供し、カーネルがこのメモリを再利用して管理するメカニズムを提供します
。ソース コードは mm/ashmem.c にあります。 - Android PMEM (物理) PMEM は、ユーザー空間、DSP、および一部のデバイスに連続物理メモリ領域を提供するために使用されます
。ソース コードは drivers/misc/pmem.c にあります。 - Android Logger は、Android システムのさまざまなログをキャプチャするために使用される軽量のログ デバイスです。ソース コードは
drivers/staging/android/logger.cにあります。 - Android アラームは、デバイスをスリープから解除するためのタイマーを提供し、
デバイスがスリープ状態のときでも動作するクロック ベースも提供します。ソースコードは drivers/art/alarm.c にあります。 - USB ガジェット ドライバー、標準 Linux USB ガジェット ドライバー フレームワークに基づいたデバイス ドライバー、Android USB ドライバーは gaeget フレームワークに基づいており
、ソース コードは drivers/usb/gadget にあります - Android Ram コンソール。デバッグ機能を提供するために、Android ではデバッグ ログを RAM ベースのバッファである RAM コンソールと呼ばれるデバイスに書き込むことができます。ソース
コードは drivers/staging/android/ram_console.c にあります。 - Android タイミング デバイスはデバイスのタイミング制御機能を提供し、現在バイブレーターと LED デバイスをサポートしています。ソースコードは
drivers/staging/android/timed_output.c(timed_gipo.c) にあります。