首頁  >  文章  >  系統教程  >  分析Android核心與標準Linux核心的功能更新

分析Android核心與標準Linux核心的功能更新

WBOY
WBOY原創
2024-06-03 11:53:511110瀏覽

Android系统内核剖析

#[摘要]剖析android平台系統架構linux 刪除資料夾,透過對最新Android原始碼的解析,將其與標準Linux核心原始碼比較,詳盡解析Android核心的功能更新,討論Android核心與標準Linux核心之間的不同以及Android在聯通平台的優勢,並對Android在各類核心之間作出一個定位,介紹了Ubuntu環境下Android核心的取得與編譯。

[關鍵字]Android;linux;核心;編譯

中圖分類號:G354.3文獻標示碼:A文章編號:1009-914X(2013)33-0119-01

1、概述

隨著嵌入式技術的急速發展,聯通智慧平台的運作速率和所整合的功能獲得了極大提高。進而,由Google主導的開放手機聯盟OHA乘勢在2008年推出了Android聯通終端平台。 Android是一個開放、自由的聯通終端平台[1],它的,打破了摩托羅拉Symbian作業系統作業系統在傳統智慧型手機平台上的壟斷地位,同時,其平台化的優勢也大大豐富各類手持式設備軟體的功能。

2、Android系統架構

Android是Google開發的基於Linux平台的開源手機作業系統,它是一個聯通終端平台,包括了聯通電話工作所需的全部軟體,由作業系統、中間件、UI及應用程式組成。

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

#Android系統架構自底向下由以下4個層次組成[2]:基於Linux的核心模組、執行時間函式庫與其他函式庫、應用程式框架、應用程式。

第一層:Linux作業系統與Android系統擴充,由C語言實作。

第二層:系統函式庫層與Android執行階段環境linux 軟體,由C/C++實作。

第三層:Android應用程式框架隱藏在每位應用程式前面的是一系列服務和統。

第四層:Android應用程式

Android應用程式層由所有運行在Android裝置上的應用程式共同構成,它除了包括通話、簡訊、聯絡人等系統應用,還包括其他後續安裝到裝置中的第三方應用程式。 3.Android核心剖析

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

#2.1核心在作業系統中的地位

Android基於Linux作業系統,由硬體、系統核心、系統服務和應用程式等四大部份組成。其中,核心是最核心的部分,其主要作用在於與電腦硬體進行交互,實現對硬體的程式控制和插口操作,調度存取硬體資源,同時向應用程式提供一個中級的執行環境和對硬體的虛擬插口。主要功能包括:中斷服務程序、程序調度程序、進程位址空間的記憶體管理、進程間通訊。

2.2Android核心

為了比較剖析Android內核,在Ubuntu作業系統上建置了Android內核的編譯開發平台,透過repo,下載最新的Android核心程式碼版本JellyBean。

經過與標準Linux核心原始碼進行詳盡對比,可以發覺,Android核心與標準Linux核心在檔案系統、進程間通訊機制、記憶體管理等方面存在不同。

(1)檔案系統

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

#Android核心中降低了標準Linux核心中沒有採納的YAFFS2檔案系統。

(2)進程間通訊機制

Binder是一種進程間通訊機制linux核心android,雖然是提供遠端過程呼叫(RPC)功能。在

Android系統的Binder機制中,由一個系統元件組成,分別是Client、Server、ServiceManager和Binder驅動程序,其中Client、Server和ServiceManager運行在用戶空間,Binder驅動程式運行核心空間。

(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(optional),build-essential,zip,curl;(2)安裝JDK的1.7版本;(3)安裝repo;(4)在主檔案目錄建立一個bin資料夾並加入環境變數當中;(5)下載repo腳本,將它的屬性改為可執行curlhttp:///repo>~/bin/repochmoda+x~/bin/repo;(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~/coredroid/common/arch/arm/ boot/zImage

5、結語

Android核心由標準Linux核心優化得來,其承繼了Linux核心的各類別優點,保留了標準Linux核心的主體架構。同時,Android根據聯通平台的需求,在檔案系統、記憶體管理、進程間通訊機制、電源管理等方面進行了更改,添加相關的驅動程式及必要的新功能,而且與大多數精簡的嵌入式Linux操作系統相比,Android很大程度上保留了標準Linux的基本架構,為此,Android系統應用範圍愈加廣泛,拓展性更強。

參考文獻

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

[2]公磊,週聰.基於Android的聯通終端應用程式開發與研[M].人民郵電出版社linux核心android,2007

[3]趙炯.Linux內核完全註釋[M].機械工業出版社,2004.

[4]陳莉君.Linux核心的剖析及應用[J].南京郵電大學學報.

以上是分析Android核心與標準Linux核心的功能更新的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn