Android系統特有的驅動

2021-07-29 19:30:33 字數 2341 閱讀 4137

整理一下android在linux系統基礎上加入的驅動,有幾個比較重要的

使用的**版本:android 2.2.2

ashmem:

匿名共享記憶體驅動

logger:

輕量級的log驅動

binder驅動( binder driver):

基於openbinder驅動,為android平台提供ipc的支援

能源管理( android power management):

輕量級的能源管理,基於linux的能源管理,為嵌入式系統做了優化

alarm:

定時器驅動,用於喚醒裝置

low memory killer:

在缺少記憶體的情況下,殺死程序

android pmem:

物理記憶體驅動

android的ashmem的含義為:

anonymous shared memory 匿名共享記憶體,通過核心的機制,為使用者空間程式提供分配記憶體的機制。使核心的分配使用和管理更加高效。

ashmem裝置節點名稱:

/dev/ashmem

ashmem的**路徑:

kernel/include/linux/ashmem.h

kernel/mm/ashmem.c

在使用者空間c libutil庫對asheme封裝並提供介面:

system/core/include/cutils/ashmem.h

system/core/libcutils/ashmem-dev.c

system/core/libcutils/ashmem-host.c

android的binder驅動程式為使用者層程式提供了ipc(程序間通訊)的支援,android整個系統的執行依賴binder驅動

binder裝置節點名稱:

/dev/binder

binder的**路徑:

kernel/include/linux/binder.h

kernel/drivers/staging/android/binder.c

在使用者空間libutil工具庫和

service

manager守護程序呼叫binder介面提供對整個系統的支援:

frameworks/base/cmds/servicemanager/

frameworks/base/include/utils/

frameworks/base/libs/utils/

logger日誌裝置

android的logger驅動程式為使用者層程式提供log的支援,這個驅動作為乙個工具來使用。無論底層原始碼和上層應用,我們都可以使用logger進行除錯

logger有三個裝置節點:

/dev/log/main

/dev/log/event

/dev/log/radio

logger驅動的**路徑:

kernel/include/linux/logger.h

kernel/drivers/staging/android/logger.c

在使用者空間logcat程式呼叫logger驅動:

system/core/logcat/

power management:

google新增了乙個新的電源管理系統,主要包括幾個檔案

kernel/power/earlysuspend.c

consoleearlysuspend.c

wakelock.c

userwakelock.c

alarm:

alarm是乙個硬體時鐘,用於把裝置從睡眠狀態喚醒,同時它也提供了乙個在裝置睡眠時仍然會執行的時鐘基準。

裝置節點:

/dev/alarm

原始碼路徑:

drivers/rtc/alarm.c

low memory killer

android使用這種機制,在系統記憶體不足(如某個程式發生了記憶體洩漏)的情況下,選擇乙個程序並將其kill掉,這和linux中的oom(out of memory)機制相似

原始碼路徑:

drivers/staging/android/lowmemorykiller.c

pmem:

主要作用就是向使用者空間提供連續的物理記憶體區域,可以使audio,video,gpu這類的裝置可以在其分配的記憶體上完美地工作

pmem原始碼路徑:

drivers/misc/pmem.c

include/linux/android_pmem.h

Android系統特有的驅動

整理一下android在linux系統基礎上加入的驅動,有幾個比較重要的 使用的 版本 android 2.2.2 ashmem 匿名共享記憶體驅動 logger 輕量級的log驅動 binder驅動 binder driver 基於openbinder驅動,為android平台提供ipc的支援 能...

mysql特有語法 MySql中特有的語法

limit select fromtablelimit offset,rows rows offset offset on duplicate key update insert low priority delayed high priority ignore into tbl name set ...

MFC 特有的資料型別

bool boolean值 true或false bstr 32bit字元指標 byte 8bit字元指標 colorref 32bit數值代表顏色值 dword 32bit整數,無符號 long 32bit整數,有符號 lparam 32bit數值 lpcstr 32bit指標,指向乙個常數字串 ...