2008年10月31日 星期五

深入淺出Android程式設計(5)-Android架構說明(下)

在這個章節中,最後要討論就是負責跟硬體溝通的底層核心同時也是最重要的Android Runtime(Android執行環境)及Linux Kernel(Linux核心)部份。
Android Runtime(Android執行環境)及Linux Kernel(Linux核心),如圖4所示。下述為各層級的描述。




圖4
Android Runtime
在Android SDK(軟體開發套件)的Android Runtime分成二個重要的元件來執行系統,雖然Android是用Java來開發、撰寫應用程式,但卻不使用Java Runtime來執行Java程式,而是自行研發Android Runtime來執行程式。
這二個重要元件分別是Core Libraries(核心函式庫),另一個是Dalvik Virtual Machine(Dalvik 虛擬機器)。

A. Core Libraries(核心函式庫)
Core Libraries(核心函式庫)裡頭已經包含了絕大多數Java所需要呼用的函式,接著每一個Android應用程式都會以自屬的process(程序)。而且Android不是用一個Dalvik虛擬機器來同時執行多個Android應用程式,而是每個Android應用程式都用一個自屬的Dalvik虛擬機器來執行。

B.Dalvik Virtual Machine(Dalvik 虛擬機器)
Dalvik Virtual Machine(Dalvik虛擬機器)是一種暫存器型態的虛擬機器。在撰寫開發時就已經設想用最少的記憶體資源來執行,以及前述的「同時可執行多個VM個體」。這樣的設計,讓系統在執行程式可以最佳化的方式來執行,節省更多的資源。有關Dalvik Virtual Machine(Dalvik虛擬機器),會在下一個章節,做更詳細的說明。

Linux Kernel(Linux核心)
在Android SDK(軟體開發套件)的作業系統是用Linux,其版本為2.6版。而所提供的核心系統服務,如下所述:
A.安全性(Security)
B.記憶體管理(Memory Management)
C.行程管理(Process Management)
D.網路堆疊(Network Stack)
E.驅動程式模型(Driver Model)包含下述這些常規的驅動程式:
(1) Display Driver
(2) Keypad Driver
(3) Camera Driver
(4) WiFi Driver
(5) Flash Memory Driver
(6) Audio Driver
(7) Binder(IPC) Driver
(8) Power Management

此系統核心同樣是作為硬體與軟體架構之間的抽象層(Abstraction Layer)。來做為相互溝通的工作。

沒有留言: