Binder驱动
来源:互联网 发布:linux 禁止用户登录 编辑:程序博客网 时间:2024/06/10 00:50
Android可以选择进程通信方式,有以下三种:
1.标准linux Kernel IPC接口
2.标准D-BUS接口
3.Binder接口
Android中使用做多是Binder驱动。它主要实现下面的功能:
1.用驱动程序来提高性能
2.通过共享内存来提高性能
3.为进程请求分配每个线程池
4.针对系统中的对象引入了计数和跨进程的对象引用映射。
5.进程间同步调用
工作原理
使用binder_ioctl()函数与用户空间进程交换数据。BINDER_WRITE_READ用来读写数据,数据包中的cmd域来区分不同的请求。使用binder_thread_write()函数来发送请求或返回结果,使用binder_thread_read()函数来读取结果。binder_thread_write()函数中,通过调用binder_transaction()函数来转发请求并返回结果。
工作流程
1.客户端首先获得服务器端的代理对象。所谓的代理对象实际上就是在客户端建立一个服务端的引用,该代理对象具有服务器端的功能,使其在客户端访问服务端的方法就像访问本地方法一样。
2.客户端通过调用服务器代理对象的方式向服务器端发送请求。
3.代理对象将用户请求通过binder驱动发送到服务器进程。
4.服务器进程处理用户请求,并通过binder驱动返回处理结果给客户端的服务器代理对象。
5.客户端收到服务器端的返回结果。
- Binder框架 -- Binder 驱动
- Binder驱动
- Binder驱动
- android binder机制---Binder驱动
- android Binder驱动研究
- binder驱动之我见
- binder驱动之我见
- binder驱动之我见
- Android Binder 驱动分析
- Binder驱动初探
- Binder驱动笔记
- Binder驱动的实现
- Binder 驱动学习笔记
- Android--Binder驱动浅析
- Android - Binder驱动
- 浅析Binder驱动
- Binder驱动(一)
- Binder驱动(二)
- 算法之美——八皇后
- Linux环境变量
- Linux下DNS域名解析的配置文件 resolv.conf
- java线程学习3——线程的停止
- 修改浏览器图标为自己想要的LOGO
- Binder驱动
- 马士兵Spring学习笔记
- <s:action>的用法
- power deginer 创建数据库表
- 韩顺平_php从入门到精通_视频教程_第11讲_初识css_类选择器_id选择器_html选择器_学习笔记_源代码图解_PPT文档整理
- Centos配置
- Android大话设计模式 第二章----单一职责原则 乔峰VS慕容复
- ABI EABI
- 设计模式之四-观察者模式