2010年4月6日 星期二

Android 終於來了 @

Android是基於Linux核心的軟體平台和作業系統,是Google在2007年11月5日公布的手機系統平台,早期由Google開發,後由開放手 機聯盟(Open Handset Alliance)開發。它採用了軟體堆層(software stack,又名以軟體疊層)的架構,主要分為三部分。低層以Linux核心工作為基礎,只提供基本功能,其他的應用軟體則由各公司自行開發,以java 作為編寫程式的一部分。另外,為了推廣此科技,Google和其它幾十個手機公司建立了開放手機聯盟(Open Handset Alliance)。Android在未公開之前常被傳聞為Google電話或gPhone。大多傳聞認為Google開發的是自己的手機電話產品,而不 是一套軟體平台。

早期Android裝置 (image from wikipedia)
藍色部分:應用程式。 綠色黃色部分:中間件。 紅色部分:作 業系統。 (image from wikipedia)


在Android架構,總共是由5個部份來組成。分別是:
(1)Applications(應用程式)
(2)Application Framework(應用程式架構)
(3)Libraries(函式庫)
(4)Android Runtime(Android執行環境)
(5)Linux Kernel(Linux核心)

Libraries (函式庫)
在Android SDK(軟體開發套件)包含一組系統元件,可以讓開發者呼叫來使用,而這一組系統元件使用的是C/C++的函式庫,開發者可以透過應用程式架構使用這些功能。

在Android SDK(軟體開發套件)的Android Runtime分成二個重要的元件來執行系統,雖然Android是用Java來開發、撰寫應用程式,但卻不使用Java Runtime來執行Java程式,而是自行研發Android Runtime來執行程式。
這二個重要元件分別是Core Libraries(核心函式庫),另一個是Dalvik Virtual Machine(Dalvik 虛擬機器)。
Core Libraries(核心函式庫)裡頭已經包含了絕大多數Java所需要呼用的函式,接著每一個Android應用程式都會以自屬的process(程序)。而且Android不是用一個Dalvik虛擬機器來同時執行多個Android應用程式,而是每個Android應用程式都用一個自屬的Dalvik虛擬機器來執行。
Dalvik Virtual Machine(Dalvik虛擬機器)是一種暫存器型態的虛擬機器。在撰寫開發時就已經設想用最少的記憶體資源來執行,以及前述的「同時可執行多個VM個體」。

所提供的核心系統服務,如下所述:
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

沒有留言:

張貼留言