2018年6月7日

9.7 Binder系统_c++实现_编写程序

摘要: 参考文件:frameworks\av\include\media\IMediaPlayerService.h (IMediaPlayerService,BnMediaPlayerService)frameworks\av\media\libmedia\IMediaPlayerService.cpp 阅读全文

posted @ 2018-06-07 20:54 拉风摊主 阅读(215) 评论(0) 推荐(0)

9.6 Binder系统_驱动情景分析_server的多线程实现

摘要: 当多个client对server发出请求的时候,如果server忙不过来的时候会创建多线程来处理请求 那么忙不过来由谁来判断? server进程有个binder_proc结构体,其里面有todo链表(放有client发过来的数据),并且会唤醒等待在binder_proc.wait上的线程,如果有线程 阅读全文

posted @ 2018-06-07 17:58 拉风摊主 阅读(282) 评论(0) 推荐(0)

9.5 Binder系统_驱动情景分析_transaction_stack机制

摘要: 参考文章:http://www.cnblogs.com/samchen2009/p/3316001.html test_server服务进程可能有多个线程,而在发送数据的时候handle只表示了那个进程 (1)发给谁?handle只表示了那个进程,数据是发给进程还是某个线程 一般数据放在binder 阅读全文

posted @ 2018-06-07 17:11 拉风摊主 阅读(605) 评论(0) 推荐(0)

9.4 Binder系统_驱动情景分析_服务使用过程

摘要: 5. 服务使用过程 test_client进程: 用户态: (1)已结获得了“hello”服务,handle=1; (2)构造数据:code(那个函数)和函数参数 (3)发送ioctl后进入内核态,先写后读 (15)取出返回值 内核态: (4)binder_ioctl被调用,根据handle在bin 阅读全文

posted @ 2018-06-07 11:24 拉风摊主 阅读(163) 评论(0) 推荐(0)

9.3 Binder系统_驱动情景分析_服务获取过程

摘要: 4. 服务获取过程 test_client客户端: (1)在用户态先构造name=“hello”的数据(服务的名字是hello),调用ioctl发送数据给service_manager(handle=0) (2)进入内核态后根据handle=0找到service_manger,把数据放入它的todo 阅读全文

posted @ 2018-06-07 09:12 拉风摊主 阅读(181) 评论(0) 推荐(0)

导航