第五学:binder---service Manager的守护进程之路

原文位置:http://blog.csdn.net/luoshengyang/article/details/6621566
综述:
binder机制是android当中非常关键的进程间通信机制,是一个类似于http的c/s架构,包括client、server、service manager以及binder。本一学要学的就是binder机制当中充当server查询器的service manager。

一、初始化binder驱动||申请binder硬件设备
1、打开一定大小的binder_state
2、将打开的binder的进程上下文信息保存
3、将打开的binder物理页面的地址同时映射到内核进程的虚拟地址以及server进程的虚拟地址,这样可以减少一次进程通信时的内存调用
4、proc中保存了物理页面,以红黑树形式保存

二、将service manager注册为守护进程
1、binder_become_context_manager
2、通过ioctl通知binder驱动程序,service manager为将要创建为守护进程
3、将当前线程放入service manager的线程树当中
4、设置全局的唯一守护进程号以及全局守护进程节点。

三、service manager作为守护进程循环读取binder
1、从SM中取出当前线程
2、将当前线程的looper参数置一
3、SM循环查看proc的红黑树中是否有待处理事件
4、SM读取binder事件




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值