[要約] Android プラットフォーム システム アーキテクチャ Linux を分析します。フォルダーを削除し、最新の Android ソース コードを分析し、標準の Linux カーネル ソース コードと比較し、Android カーネルの機能アップデートを詳細に分析し、それらの違いについて説明します。 Android カーネルと標準 Linux カーネルについて、China Unicom プラットフォームにおける Android の違いと利点を分析し、Android をさまざまなカーネルの中に位置づけ、Ubuntu 環境での Android カーネルの取得とコンパイルについても紹介しました。
[キーワード]Android カーネル;
中国語図書館分類番号: G354.3 文書コード: A 記事番号: 1009-914X (2013) 33-0119-011.概要
組み込み技術の急速な発展により、チャイナユニコムのインテリジェントプラットフォームの動作速度と統合機能が大幅に向上しました。さらに、Google 率いる Open Handset Alliance OHA はこの状況を利用し、2008 年に Android China Unicom 端末プラットフォームを開始しました。 Android は、オープンで無料の Unicom 端末プラットフォーム [1] であり、従来のスマートフォン プラットフォームにおける Motorola の Symbian オペレーティング システムの独占を打ち破りました。同時に、そのプラットフォームの利点により、さまざまなハンドヘルド デバイスの機能も大幅に強化されました。
2. Android システムアーキテクチャ
Android は、Google が開発した Linux プラットフォームをベースにしたオープンソースの携帯電話オペレーティング システムであり、チャイナ ユニコムの携帯電話が動作するために必要なすべてのソフトウェアが含まれています。オペレーティング システム、ミドルウェア、UI で構成されています。アプリケーション。
最初の層: Linux オペレーティング システムと Android システムの拡張。C 言語で実装されます。
2 番目の層: システム ライブラリ層と Android ランタイム環境 Linux ソフトウェア。C/C++ によって実装されます。
3 番目の層: Android アプリケーション フレームワーク 各アプリケーションの前には、一連のサービスとシステムが隠されています。
レベル 4: Android アプリ
Android アプリケーション層は、Android デバイス上で実行されるすべてのアプリケーションで構成されます。通話、テキスト メッセージ、連絡先などのシステム アプリケーションに加えて、その後デバイスにインストールされる他のサードパーティ アプリケーションも含まれます。 3. Androidカーネル解析
Android は Linux オペレーティング システムに基づいており、ハードウェア、システム カーネル、システム サービス、アプリケーションの 4 つの主要な部分で構成されています。その中で、カーネルは、コンピュータハードウェアと対話し、ハードウェアのプログラミング制御とソケット操作を実現し、ハードウェアリソースへのアクセスをスケジュールし、同時に中間実行環境と仮想化を提供することを主な機能とします。ハードウェアからアプリケーションまで。主な機能には、割り込みサービス ルーチン、プロセス スケジューラ、プロセス アドレス空間のビデオ メモリ管理、およびプロセス間通信が含まれます。
2.2Androidカーネル
Android カーネルを比較および分析するために、Ubuntu オペレーティング システム上に Android カーネルのコンパイルおよび開発プラットフォームを構築し、リポジトリを通じて最新の Android カーネル コード バージョンの JellyBean をダウンロードしました。
標準 Linux カーネルのソース コードと詳細に比較した結果、ファイル システム、プロセス間通信メカニズム、メモリ管理などの点で Android カーネルと標準 Linux カーネルの間に違いがあることがわかります。
(1) ファイルシステム
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
上記の手順の後、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 サイトの他の関連記事を参照してください。

Linuxシステムは、その力と信頼性で知られていますが、経験豊富なユーザーでさえ予期しない問題に遭遇します。予期せず削除されたファイル、忘れられたルートパスワード、またはシステムの実行が遅い場合の効率的なトラブルシューティングスキルであろうと、Linuxの専門家になるための鍵です。 このガイドでは、一般的なLinuxの問題解決シナリオと、システム管理者、開発者、および日常のLinuxユーザーの間で一般的な段階的なソリューションを紹介します。 シーン1:重要なファイルの予期しない削除 RMコマンドを使用して重要なファイルを誤って削除し、復元する必要があります。 WindowsやMacOSとは異なり、Linuxにはターミナルから削除されたファイルを保存するための「リサイクルビン」が組み込まれていません。 回復オプションは依存します

Dockerは、コンテナと呼ばれる孤立した環境でアプリケーションを実行できる強力なツールです。ただし、アプリケーションが必要なファイルとディレクトリにアクセスできるように、Dockerフォルダーの権限を変更する必要がある場合があります。 この記事では、LinuxシステムのDockerフォルダーの許可を永久に変更するプロセスをガイドします。 Dockerフォルダーの許可を理解します デフォルトでは、DockerはLinux Systemsの特定のディレクトリに、画像、コンテナ、ボリュームなどのデータを保存します。最も一般的なディレクトリは/var/lib/dockerです。 これらのフォルダーの権限により、ファイルの読み取り、書き込み、実行できる人が決定されます。もし

LinuxのPortainer CEでDocker管理を簡素化:ステップバイステップガイド 特に新人にとって、コマンドラインを介してDockerコンテナの管理は気が遠くなる可能性があります。 Portainer CE(Community Edition)は、無料で軽量で直感的なソルティオを提供しています

このガイドでは、Linux Systemsのリアルタイムの音声からテキストへの転写のためにWhisper AIをインストールして使用する方法を詳しく説明しています。 Openaiの作成であるWhisper AIは、複数の言語にわたって高精度の転写を提供します。主にバッチプロセス用に設計されています

Linuxターミナル愛好家の場合、堅牢なファイルマネージャーが不可欠です。 多くは存在しますが、スーパーファイルはモダンで軽量で視覚的に魅力的な選択として際立っています。この記事では、スーパーファイル、その起源、そしてそれがあなたのfのトップ候補である理由について説明します

Zellij:Linuxワークフローを強化するための最新の端子マルチプレクサ Linuxターミナルマルチプレクサは、開発者とシステム管理者にとって不可欠なツールであり、コマンドラインインタラクションを合理化します。 Zellij、比較的新しいオープンソースマルチプレクサ

Linuxのスタートアッププロセスには次のものが含まれます。1。StartBIOS/UEFI、2。LoadGrub、3。LoadKernel and Initrd、4。Executeinit Process、5。StartSystem Services、6。StartLogin Manager; Windowsのスタートアッププロセスには次のものが含まれます。1。StartBIOS/UEFI、2。WindowsBootManagerをロードします。 Linuxはより多くのカスタマイズオプションを提供しますが、Windowsはユーザーエクスペリエンスと安定性により多くの注意を払います。

このガイドでは、SystemDを使用してLinuxで自動サービスの再起動を構成する方法を詳しく説明し、システムの信頼性を高め、ダウンタイムを最小限に抑えます。 システム管理者は、多くの場合、この機能に依存して、Webサーバーなどの重要なサービスを確保しています(APA


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









