第一章讀書筆記

Android系統移植——爲了在不一樣設備上完美運行Android,須要另外開發一些程序,使得Android能夠識別相應設備中的硬件,這個爲特定設備定製Android的過程被稱爲「移植」。java

 

Android系統架構——4層:網絡

1.Linux內核架構

這一層主要包括Linux的驅動程序以及內存管理、進程管理、電源管理等程序。函數

2.C/C++代碼庫spa

這一層主要包括使用C/C++編寫的代碼庫(Linux下的.so文件),也包括Dalivk虛擬機的運行時(Runtime)。操作系統

3.Android SDK API對象

因爲Android SDK API是用Java語言編寫的,所以這一層也可稱爲Java API層。實際上,這一層是用java編寫的各類Libraryblog

4.應用程序接口

這一層至關於AndroidUI。主要依靠第三層的Android SDK API 來完成各類功能。進程

 

 Android移植

應用移植:將第4層的應用程序移植到某一個特定硬件平臺上。通常 不涉及驅動和HAL程序庫(位於第2層)的移植。

系統移植:讓Android操做系統在某一個特定硬件平臺上運行。移植 CPU架構和Linux驅動。

 

/proc是系統內核的映像。

 

Linux內核版本號組成:主版本號,次版本號,修訂版本號,微調版本號,爲特定的Linux系統特別調校的描述。

 

驅動針對的對象是存儲器和外設,而不是針對CPU核。

 

Linux將存儲器和外設分爲3大類:字符設備,塊設備,網絡設備。

 

字符設備與塊設備:

相同點:對用戶而言,它們都使用文件系統的操做接口openclosereadwrite等函數進行訪問。

不一樣點:字符設備指那些必須以串行順序依次進行訪問的設備,如鼠標、鍵盤等。不經 過系統的快速緩衝。

塊設備能夠用任意順序進行訪問,以塊爲單位進行操做,如硬盤、軟驅等,經 過系統的快速緩衝。

任何的Linux驅動都有一個裝載函數和一個卸載函數,分別經過module_initmodule_exit宏指定

 

http://www.cnblogs.com/875825a/

相關文章
相關標籤/搜索