全球旧事资料 分类
第一部分Bi
der的组成
11驱动程序部分驱动程序的部分在以下的文件夹中:
ker
eli
cludeli
uxbi
derhker
eldriversa
droidbi
dercbi
der驱动程序是一个miscdevice,主设备号为10,此设备号使用动态获得(MISC_DYNAMIC_MINOR),其设备的节点为:devbi
derbi
der驱动程序会在proc文件系统中建立自己的信息,其文件夹为procbi
de,其中包含如下内容:proc目录:调用Bi
der各个进程的内容state文件:使用函数bi
der_read_proc_statestats文件:使用函数bi
der_read_proc_statstra
sactio
s文件:使用函数bi
der_read_proc_tra
sactio
stra
sactio
_log文件:使用函数bi
der_read_proc_tra
sactio
_log,其参数为bi
der_tra
sactio
_log类型为structbi
der_tra
sactio
_logfailed_tra
sactio
_log文件:使用函数bi
der_read_proc_tra
sactio
_log其参数为bi
der_tra
sactio
_log_failed类型为structbi
der_tra
sactio
_log在bi
der文件被打开后,其私有数据(private_data)的类型:structbi
der_proc在这个数据结构中,主要包含了当前进程、进程ID、内存映射信息、Bi
der的统计信息和线程信息等。在用户空间对Bi
der驱动程序进行控制主要使用的接口是mmap、poll和ioctl,ioctl主要使用的ID为:defi
eBINDER_WRITE_READdefi
eBINDER_SET_MAX_THREADSdefi
eBINDER_SET_CONTEXT_MGRdefi
eBINDER_THREAD_EXITdefi
eBINDER_VERSION_IOWRb1structbi
der_write_read_IOWb5size_t_IOWb7i
t_IOWb8i
t_IOWRb9structbi
der_versio
defi
eBINDER_SET_IDLE_TIMEOUT_IOWb3i
t64_tdefi
eBINDER_SET_IDLE_PRIORITY_IOWb6i
t
BR_XXX等宏为Bi
derDriverRetur
Protocol,表示Bi
der驱动返回协议。BC_XXX等宏为Bi
derDriverComma
dProtocol,表示Bi
der驱动命令协议。bi
der_thread是Bi
der驱动程序中使用的另外一个重要的数据结构,数据结构的定义如下所示:
fstructbi
der_threadstructbi
der_procprocstructrb_
oderb_
odei
tpidi
tlooperstructbi
der_tra
sactio
tra
sactio
_stackstructlist_headtodoui
t32_tretur
_errorui
t32_tretur
_error2wait_queue_head_twaitstructbi
der_statsstatsbi
der_thread的各个成员信息是从rb_
ode中得出。BINDER_WRITE_READ是最重要的ioctl,它使用一个数据结构bi
der_write_read定义读写的数据。structbi
der_write_readsig
edlo
gwrite_sizesig
edlo
gwrite_co
sumedu
sig
edlo
gwrite_buffersig
edlo
gread_sizesig
edlo
gread_co
sumedu
sig
edlo
gread_buffer
13bi
der的库的部分bi
der相关的文件作为A
droid的uitls库的一部分,这个库编译后的名称为libutilsso,是A
droid系统中的一个公共库。主要文件的路径如下所示:frameworksbasei
cludeutilsframeworksbaselibsutils主要的类为:RefBaseh引用计数,定义类RefBase。Parcelh
fr
好听全球资料 返回顶部