android系統架構各層的一些介紹

本內容來自豆瓣。
一.android系統架構各層介紹
  1. 應用層:應用是用java語言編寫的運行在虛擬機上的程序,比如Email客戶端,SMS短消息程序,日曆等。
  2. 應用框架層:這一層是編寫Google發佈的核心應用時所使用的API框架,開發人員同樣可以使用這些框架來開發自己的應用,這樣便簡化了程序開發的結構設計,但是必須要遵守其框架的開發原則。
  3. 系統運行庫(C/C++庫以及Android運行庫)層:當使用Android應用框架時,Android系統會通過一些C/C++庫來支持我們使用的各個組件,使其更好的爲我們服務,比如其中的SQLite(關係數據庫),Webkit(Web瀏覽器引擎)。
  4. Linux內核層:Android的核心繫統服務給予Linux2.6內核,如安全性、內存管理、進程管理、網絡協議棧和驅動模型等都依賴於該內核,比如Binder IPC驅動,android的一個特殊驅動程序,具有單獨的設備節點,提供進程間通信的功能。
  一.框架提供的功能
  Android系統提供給應用開發者的本身就是一個框架,所有的應用開發都必須遵守這個框架的原則。我們在開發應用時就是在這個框架上進行擴展,下面是Android框架提供給我們可用的功能。
  1、android.app:提供高層的程序模型和基本的運行環境。
  2、 android.content:包括各種設備上的數據進行訪問和發佈。
  3、 android.database:通過內容提供者瀏覽和操作數據庫。
  4、 android.graphics:底層的圖形庫,包括畫布、顏色過濾、點、矩陣,可以將他們直接繪製到屏幕上。
  5、 android.location:定位和相關服務的類。
  6、 android.media:提供一些類管理多種音頻、視頻的媒體接口。
  7、 android.net:提供幫助網絡訪問的類,超過通常的java.net.*。
  8、 android.os:提供了系統服務、消息傳輸和IPC機制。
  9、 android.opengl:提供OpenGL的工具。
  10、 android.provider:提供訪問Android內容提供者的類。
  11、 android.telephony:提供與撥打電話相關的API交互。
  12、 android.view提供基礎的用戶界面接口框架。
  13、 android.util:設計工具性的方法,例如時間日期的操作。
  14、 android.webkit:默認瀏覽器操作接口。
  15、 android.widget:包含各種UI元素(大部分是可見的)在應用程序的佈局中使用。
  二.相關技術說明
  關於進程間通信的幾種方式
  1、 管道( pipe ):管道是一種半雙工的通信方式,數據只能單向流動,而且只能在具有親緣關係的進程間使用。進程的親緣關係通常是指父子進程關係。
  2、 有名管道 (named pipe) : 有名管道也是半雙工的通信方式,但是它允許無親緣關係進程間的通信。
  3、 信號量( semophore ) : 信號量是一個計數器,可以用來控制多個進程對共享資源的訪問。它常作爲一種鎖機制,防止某進程正在訪問共享資源時,其他進程也訪問該資源。因此,主要作爲進程間以及同一進程內不同線程之間的同步手段。
  4、 消息隊列( message queue ) : 消息隊列是由消息的鏈表,存放在內核中並由消息隊列標識符標識。消息隊列克服了信號傳遞信息少、管道只能承載無格式字節流以及緩衝區大小受限等缺點。
  5、 信號 ( sinal ) : 信號是一種比較複雜的通信方式,用於通知接收進程某個事件已經發生。
  6、 共享內存( shared memory ) :共享內存就是映射一段能被其他進程所訪問的內存,這段共享內存由一個進程創建,但多個進程都可以訪問。共享內存是最快的 IPC 方式,它是針對其他進程間通信方式運行效率低而專門設計的。它往往與其他通信機制,如信號兩,配合使用,來實現進程間的同步和通信。
  7、 套接字( socket ) : 套解口也是一種進程間通信機制,與其他通信機制不同的是,它可用於不同及其間的進程通信。
  關於LINUX內核及操作系統加載過程
  由於在Linux系統的啓動過程中會出現非常多的提示系統的啓動過程中會出現非常多的提示信息,而且很多啓動信息都是在屏幕上一閃而過, 息,而且很多啓動信息都是在屏幕上一閃而過,所以對於LINUX系統的初學者來說,可能會覺得Linux的啓動過程非常神祕和複雜。其實 系統的啓動過程並不是大家想象中的那麼複雜,其過程可以分爲5個階段。
  1.BIOS加電自檢
  2.加載主引導加載程序(MBR)
  3.加載次引導加載程序(GRUB)
  4.Linux內核映像
  5.init進程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章