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

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
Linux和Windows處理設備驅動程序的區別有什麼區別?Linux和Windows處理設備驅動程序的區別有什麼區別?Apr 25, 2025 am 12:13 AM

Linux和Windows在處理設備驅動程序上的差異主要體現在驅動管理的靈活性和開發環境上。 1.Linux採用模塊化設計,驅動可以動態加載和卸載,開發者需深入理解內核機制。 2.Windows依賴微軟生態,驅動需通過WDK開發並簽名認證,開發相對複雜但保證了系統的穩定性和安全性。

比較和對比Linux和Windows的安全模型。比較和對比Linux和Windows的安全模型。Apr 24, 2025 am 12:03 AM

Linux和Windows的安全模型各有優勢。 Linux提供靈活性和可定制性,通過用戶權限、文件系統權限和SELinux/AppArmor實現安全。 Windows則注重用戶友好性,依賴WindowsDefender、UAC、防火牆和BitLocker保障安全。

Linux和Windows之間的硬件兼容性有何不同?Linux和Windows之間的硬件兼容性有何不同?Apr 23, 2025 am 12:15 AM

Linux和Windows在硬件兼容性上不同:Windows有廣泛的驅動程序支持,Linux依賴社區和廠商。解決Linux兼容性問題可通過手動編譯驅動,如克隆RTL8188EU驅動倉庫、編譯和安裝;Windows用戶需管理驅動程序以優化性能。

Linux和Windows之間虛擬化支持有哪些差異?Linux和Windows之間虛擬化支持有哪些差異?Apr 22, 2025 pm 06:09 PM

Linux和Windows在虛擬化支持上的主要區別在於:1)Linux提供KVM和Xen,性能和靈活性突出,適合高定制環境;2)Windows通過Hyper-V支持虛擬化,界面友好,與Microsoft生態系統緊密集成,適合依賴Microsoft軟件的企業。

Linux系統管理員的主要任務是什麼?Linux系統管理員的主要任務是什麼?Apr 19, 2025 am 12:23 AM

Linux系統管理員的主要任務包括系統監控與性能調優、用戶管理、軟件包管理、安全管理與備份、故障排查與解決、性能優化與最佳實踐。 1.使用top、htop等工具監控系統性能,並進行調優。 2.通過useradd等命令管理用戶賬戶和權限。 3.利用apt、yum管理軟件包,確保系統更新和安全。 4.配置防火牆、監控日誌、進行數據備份以確保系統安全。 5.通過日誌分析和工具使用進行故障排查和解決。 6.優化內核參數和應用配置,遵循最佳實踐提升系統性能和穩定性。

很難學習Linux嗎?很難學習Linux嗎?Apr 18, 2025 am 12:23 AM

學習Linux並不難。 1.Linux是一個開源操作系統,基於Unix,廣泛應用於服務器、嵌入式系統和個人電腦。 2.理解文件系統和權限管理是關鍵,文件系統是層次化的,權限包括讀、寫和執行。 3.包管理系統如apt和dnf使得軟件管理方便。 4.進程管理通過ps和top命令實現。 5.從基本命令如mkdir、cd、touch和nano開始學習,再嘗試高級用法如shell腳本和文本處理。 6.常見錯誤如權限問題可以通過sudo和chmod解決。 7.性能優化建議包括使用htop監控資源、清理不必要文件和使用sy

Linux管理員的薪水是多少?Linux管理員的薪水是多少?Apr 17, 2025 am 12:24 AM

Linux管理員的平均年薪在美國為75,000至95,000美元,歐洲為40,000至60,000歐元。提升薪資可以通過:1.持續學習新技術,如雲計算和容器技術;2.積累項目經驗並建立Portfolio;3.建立職業網絡,拓展人脈。

Linux的主要目的是什麼?Linux的主要目的是什麼?Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。