Binder机制分析【四】-Binder系统组件概览

Binder系统组件
由第一章知道,Binder系统由3部分组成,client,server,binder驱动。
其中server由两部分组成:server和Service Manager,因为Service Manager是一种特殊的server,所以也将其划分到了server中,Service Manager是一个守护进程,用来管理Server,并向Client提供查询Server接口的能力。
1.Client、Server和Service Manager实现在用户空间中,Binder驱动程序实现在内核空间中
2. Binder驱动程序和Service Manager在Android平台中已经实现,开发者只需要在用户空间实现自己的Client和Server
3. Binder驱动程序提供设备文件/dev/binder与用户空间交互,Client、Server和Service Manager通过open和ioctl文件操作函数与Binder驱动程序进行通信
4. Client和Server之间的进程间通信通过Binder驱动程序间接实现
组件之间的关系如图:

[img]http://dl.iteye.com/upload/attachment/0065/3665/ca96f5f7-3da6-3d69-b0b6-dd24dfbeacb4.bmp[/img]

参考:[url]http://www.linuxidc.com/Linux/2011-07/39269.htm[/url]

下面将给出一些具体的理解链接,先供大家查看学习:
1. Service Manager是如何成为一个守护进程的?即Service Manager是如何告知Binder驱动程序它是Binder机制的上下文管理者。
[url]http://www.linuxidc.com/Linux/2011-07/39272.htm[/url]
2. Server和Client是如何获得Service Manager接口的?即defaultServiceManager接口是如何实现的。
[url]http://www.linuxidc.com/Linux/2011-07/39273.htm[/url]
3. Server是如何把自己的服务启动起来的?Service Manager在Server启动的过程中是如何为Server提供服务的?即IServiceManager::addService接口是如何实现的。[url]http://www.linuxidc.com/Linux/2011-07/39274.htm[/url]
4 Service Manager是如何为Client提供服务的?即IServiceManager::getService接口是如何实现的。
[url]http://www.linuxidc.com/Linux/2011-07/39321.htm[/url]
5. Client和Server是如何间接通过Binder驱动程序进行进程间通信的? [url]http://www.linuxidc.com/Linux/2011-07/39620.htm[/url]
理解系统Service图

[img]http://dl.iteye.com/upload/attachment/0070/5076/95a03652-1fc4-3f21-8593-4a59021b6fc6.bmp[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值