ホームページ システムチュートリアル Linux Android カーネルと標準 Linux カーネルの機能アップデートを分析する

Android カーネルと標準 Linux カーネルの機能アップデートを分析する

Jun 03, 2024 am 11:53 AM

Android系统内核剖析

[要約] Android プラットフォーム システム アーキテクチャ Linux を分析します。フォルダーを削除し、最新の Android ソース コードを分析し、標準の Linux カーネル ソース コードと比較し、Android カーネルの機能アップデートを詳細に分析し、それらの違いについて説明します。 Android カーネルと標準 Linux カーネルについて、China Unicom プラットフォームにおける Android の違いと利点を分析し、Android をさまざまなカーネルの中に位置づけ、Ubuntu 環境での Android カーネルの取得とコンパイルについても紹介しました。

[キーワード]Android カーネル;

中国語図書館分類番号: G354.3 文書コード: A 記事番号: 1009-914X (2013) 33-0119-01

1.概要

組み込み技術の急速な発展により、チャイナユニコムのインテリジェントプラットフォームの動作速度と統合機能が大幅に向上しました。さらに、Google 率いる Open Handset Alliance OHA はこの状況を利用し、2008 年に Android China Unicom 端末プラットフォームを開始しました。 Android は、オープンで無料の Unicom 端末プラットフォーム [1] であり、従来のスマートフォン プラットフォームにおける Motorola の Symbian オペレーティング システムの独占を打ち破りました。同時に、そのプラットフォームの利点により、さまざまなハンドヘルド デバイスの機能も大幅に強化されました。

2. Android システムアーキテクチャ

Android は、Google が開発した Linux プラットフォームをベースにしたオープンソースの携帯電話オペレーティング システムであり、チャイナ ユニコムの携帯電話が動作するために必要なすべてのソフトウェアが含まれています。オペレーティング システム、ミドルウェア、UI で構成されています。アプリケーション。

linux内核android_内核管理器_内核稳定

Android システム アーキテクチャは、下から [2]、Linux ベースのカーネル モジュール、ランタイム ライブラリおよびその他のライブラリ、アプリケーション フレームワーク、およびアプリケーションの 4 つのレベルで構成されます。

最初の層: Linux オペレーティング システムと Android システムの拡張。C 言語で実装されます。

2 番目の層: システム ライブラリ層と Android ランタイム環境 Linux ソフトウェア。C/C++ によって実装されます。

3 番目の層: Android アプリケーション フレームワーク 各アプリケーションの前には、一連のサービスとシステムが隠されています。

レベル 4: Android アプリ

Android アプリケーション層は、Android デバイス上で実行されるすべてのアプリケーションで構成されます。通話、テキスト メッセージ、連絡先などのシステム アプリケーションに加えて、その後デバイスにインストールされる他のサードパーティ アプリケーションも含まれます。 3. Androidカーネル解析

内核管理器_linux内核android_内核稳定

オペレーティング システムにおける 2.1 カーネルの役割

Android は Linux オペレーティング システムに基づいており、ハードウェア、システム カーネル、システム サービス、アプリケーションの 4 つの主要な部分で構成されています。その中で、カーネルは、コンピュータハードウェアと対話し、ハードウェアのプログラミング制御とソケット操作を実現し、ハードウェアリソースへのアクセスをスケジュールし、同時に中間実行環境と仮想化を提供することを主な機能とします。ハードウェアからアプリケーションまで。主な機能には、割り込みサービス ルーチン、プロセス スケジューラ、プロセス アドレス空間のビデオ メモリ管理、およびプロセス間通信が含まれます。

2.2Androidカーネル

Android カーネルを比較および分析するために、Ubuntu オペレーティング システム上に Android カーネルのコンパイルおよび開発プラットフォームを構築し、リポジトリを通じて最新の Android カーネル コード バージョンの JellyBean をダウンロードしました。

標準 Linux カーネルのソース コードと詳細に比較した結果、ファイル システム、プロセス間通信メカニズム、メモリ管理などの点で Android カーネルと標準 Linux カーネルの間に違いがあることがわかります。

(1) ファイルシステム

内核稳定_linux内核android_内核管理器

Android カーネルは、標準の Linux カーネルでは採用されていない YAFFS2 ファイル システムを削減しました。

(2) プロセス間通信の仕組み

Binder は、リモート プロシージャ コール (RPC) 機能を提供しますが、 Linux カーネル android のプロセス間通信メカニズムです。

Android システムのバインダー メカニズムは、クライアント、サーバー、ServiceManager およびバインダー ドライバーというシステム コンポーネントで構成されており、クライアント、サーバー、ServiceManager はユーザー空間で実行され、バインダー ドライバーはカーネル空間で実行されます。

(3) ビデオメモリ管理

ビデオメモリ管理モジュールでは、Androidカーネルは標準のLinuxカーネルでは使用されない低レベルカーネルを使用します

預金管理戦略。 Android システムでは、重要度に応じてプロセスを分類およびグループ化する LMK (LowMemoryKiller) と呼ばれるメカニズムが使用されます。ビデオ メモリが不足すると、最下位グループのプロセスがシャットダウンされます。

4. Android カーネルの取得とコンパイル

以下では、Ubuntu13.04 オペレーティング システムを例として、Ubuntu13.04 システムでビルドする方法を説明します

Android カーネルのコンパイルおよび開発プラットフォーム。 Ubuntu 上に Android カーネル コンパイル環境を構築する具体的な手順は次のとおりです:

(1) システム環境の設計、必要なソフトウェアパッケージリスト flex、bison、gperf、libsdl-dev、libesd0-

dev、libwxgtk2.6-dev (オプション)、build-essential、zip、curl; (2) JDK バージョン 1.7 をインストールします。 (4) メイン ファイル ディレクトリに bin フォルダーを構築して追加します。 (5) リポジトリ スクリプトをダウンロードし、その属性を実行可能ファイルに変更します。(6) ソース コードを保存するディレクトリを作成します。 mkdircoredroidcdcoredroid ( 7) Android カーネル コードを取得します: gitclonegit:///kernel/common.git

linux内核android_内核管理器_内核稳定

上記の手順の後、Android カーネルの最新バージョンが coredroid フォルダーにダウンロードされます。 make コンパイルが完了すると、zImage ファイルが生成され、シミュレーターを使用して cdmydroid/out/cupcake/out/target/product/genericemulator-imagesystem.img-datauserdata.img-ramdiskramdisk.img-kernel~ をテストおよび実行できます。 /coreroid/common/arch/arm/boot/zImage

5.結論

Android カーネルは、標準 Linux カーネルから最適化されており、Linux カーネルのさまざまな利点を継承し、標準 Linux カーネルの主要な構造を保持しています。同時に、Android はチャイナ ユニコム プラットフォームのニーズに応じてファイル システム、メモリ管理、プロセス間通信メカニズム、電源管理などの側面に変更を加え、関連ドライバーと必要な新機能を追加し、ほとんどのプラットフォームと互換性があります。他のシステムと比較して、Android は標準 Linux の基本アーキテクチャを大幅に保持しているため、Android システムはより幅広いアプリケーションを備え、より拡張性が高くなります。

参考資料

[1]CodeHome.Android-AnOpenHandsetAllianceProject.[EB/OL]http:///android/what-is-android.

[2] Gong Lei、Zhou Cong、Android [M] に基づくチャイナユニコム端末アプリケーションの開発と研究、linux kernel android、2007 年

[3]Zhao Jiong、Linux カーネルの完全な注釈[M]、2004 年。

[4] Chen Lijun、Linux カーネルの分析と応用[J]。南京郵電大学のジャーナル。

以上がAndroid カーネルと標準 Linux カーネルの機能アップデートを分析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Linuxでファイルとディレクトリを数える方法:初心者のガイド Linuxでファイルとディレクトリを数える方法:初心者のガイド Mar 19, 2025 am 10:48 AM

Linuxでファイルとフォルダーを効率的にカウントする:包括的なガイド Linuxでファイルやディレクトリを迅速にカウントする方法を知ることは、システム管理者や大規模なデータセットを管理している人にとっては重要です。このガイドは、単純なコマンド-Lを使用して示しています

Linuxの複数のグループにユーザーを追加する方法 Linuxの複数のグループにユーザーを追加する方法 Mar 18, 2025 am 11:44 AM

Linux/UNIXシステム管理には、ユーザーアカウントとグループメンバーシップを効率的に管理することが重要です。 これにより、適切なリソースとデータアクセス制御が保証されます。 このチュートリアルでは、LinuxおよびUNIXシステムの複数のグループにユーザーを追加する方法を詳しく説明しています。 私たちは

コマンドラインからインストールされているすべてのLinuxカーネルをリストまたは確認する方法 コマンドラインからインストールされているすべてのLinuxカーネルをリストまたは確認する方法 Mar 23, 2025 am 10:43 AM

Linuxカーネルは、GNU/Linuxオペレーティングシステムのコアコンポーネントです。 1991年にLinus Torvaldsによって開発されたこのため、無料のオープンソース、モノリシック、モジュール式、マルチタスクUnixのようなカーネルです。 Linuxでは、歌に複数のカーネルをインストールすることが可能です

FlatsealでFlatpakアプリのアクセス許可を簡単に構成する方法 FlatsealでFlatpakアプリのアクセス許可を簡単に構成する方法 Mar 22, 2025 am 09:21 AM

フラットパックアプリケーション許可管理ツール:Flatsealユーザーガイド Flatpakは、Linuxソフトウェアの分布を簡素化し、仮想サンドボックスでアプリケーションを安全にカプセル化するために設計されています。 Flatpakアプリケーションはこのサンドボックス環境にあるため、オペレーティングシステムの他の部分、ハードウェアデバイス(Bluetooth、ネットワークなど)、ソケット(Pulseaudio、SSH-Auth、Cupなど)にアクセスする権限を要求する必要があります。このガイドでは、LinuxでFlatsealを使用してFlatpakを簡単に構成する方法をご案内します

Ubuntu LinuxでIndian Rupeeシンボルを入力する方法 Ubuntu LinuxでIndian Rupeeシンボルを入力する方法 Mar 22, 2025 am 10:39 AM

この簡単なガイドでは、Linuxオペレーティングシステムでインドルピーシンボルを入力する方法について説明します。先日、Word文書に「Indian Rupee Symbol(£)」を入力したかったのです。私のキーボードにはルピーシンボルがありますが、入力する方法がわかりません。後

Linuxは何に最適なものですか? Linuxは何に最適なものですか? Apr 03, 2025 am 12:11 AM

Linuxは、サーバー管理、組み込みシステム、デスクトップ環境として最適です。 1)サーバー管理では、LinuxはWebサイト、データベース、アプリケーションをホストするために使用され、安定性と信頼性を提供します。 2)組み込みシステムでは、Linuxは柔軟性と安定性のため、スマートホームおよび自動車電子システムで広く使用されています。 3)デスクトップ環境では、Linuxは豊富なアプリケーションと効率的なパフォーマンスを提供します。

Linuxカーネル6.14 RC6がリリースされました Linuxカーネル6.14 RC6がリリースされました Mar 24, 2025 am 10:21 AM

Linus Torvaldsは、Linux Kernel 6.14リリース候補6(RC6)をリリースし、重要な問題を報告せず、リリースを順調に進めています。このアップデートで最も注目すべき変更は、AMDマイクロコード署名の問題に対応していますが、残りの更新は

YT-DLPコマンド:初心者向けの完全なチュートリアル(2025) YT-DLPコマンド:初心者向けの完全なチュートリアル(2025) Mar 21, 2025 am 11:00 AM

お気に入りのビデオをインターネットから保存したいと思ったことはありますか?面白い猫のビデオであろうと、後で見たいチュートリアルであろうと、YT-DLPがお手伝いします!この包括的なYT-DLPチュートリアルでは、YT-DLPとは何か、インストール方法を説明します。

See all articles