天天看點

android是linux系統架構,Android 系統的架構

1、Android 系統架構共分為五層   應用層  應用架構層    系統運作庫層   硬體抽象層和Linux核心層

android是linux系統架構,Android 系統的架構

圖(1)

一、應用層:

系統内置的應用層序以及非系統的應用程式都是屬于應用層的,負責與使用者直接互動。

二、應用架構層(Framework層)

應用架構層為開發人員提供開發應用層序所需要的API。我們平時開發用到的API都是應用層架構層提供的,當然也包括系統的應用,

這一程是用Java 語言編寫的。下圖是應用架構層所提共的主要元件(如圖2)

android是linux系統架構,Android 系統的架構

圖(2)

三、系統運作庫層

1、系統運作庫層分為兩部分:分别是C/C++程式庫和Android運作時庫,

C/C++程式庫能被Android系統中不同元件使用,并通過應用架構層向開發者提供服務,主要的C/C++程式庫如圖(3)所示:

android是linux系統架構,Android 系統的架構

圖(3)

2、Android運作時庫

運作時庫又分為核心庫和ART(5.0系統之後,Dalvik虛拟機被ART取代)。核心庫提供了Java語言核心庫的大多數功能,這樣開發者可以使用Java語言來編寫Android應用。相較于JVM,Dalvik虛拟機是專門為移動裝置定制的,允許在有限的記憶體中同時運作多個虛拟機的執行個體,并且每一個Dalvik 應用作為一個獨立的Linux 程序執行。獨立的程序可以防止在虛拟機崩潰的時候所有程式都被關閉。而替代Dalvik虛拟機的ART 的機制與Dalvik 不同。在Dalvik下,應用每次運作的時候,位元組碼都需要通過即時編譯器轉換為機器碼,這會拖慢應用的運作效率,而在ART 環境中,應用在第一次安裝的時候,位元組碼就會預先編譯成機器碼,使其成為真正的本地應用。

四、硬體抽象庫

硬體抽象層是位于作業系統核心與硬體電路之間的接口層,其目的在于将硬體抽象化,為了保護硬體廠商的知識産權,它隐藏了特定平台的硬體接口細節,為作業系統提供虛拟硬體平台,使其具有硬體無關性,可在多種平台上進行移植。 從軟硬體測試的角度來看,軟硬體的測試工作都可分别基于硬體抽象層來完成,使得軟硬體測試工作的并行進行成為可能。通俗來講,就是将控制硬體的動作放在硬體抽象層中。

五、Linux層

Android 的核心系統服務基于Linux 核心,在此基礎上添加了部分Android專用的驅動。系統的安全性、記憶體管理、程序管理、網絡協定棧和驅動模型等都依賴于該核心。