Android Binder机制
来源:互联网 发布:开过淘宝店铺能注销吗 编辑:程序博客网 时间:2024/06/07 02:15
Android系统的虚拟地址内存分为用户空间和内核空间,用户空间是非共享的,只让应用自己访问,内核空间是共享的,Binder通过共享内核空间实现进程间通信。
Binder把进程A生成的IPC数据(在用户空间生成),传递给BinderDriver,Binder Driver在内核空间运行,之后Binder Driver再把IPC数据传递给进程B。IPC数据由4部分组成,Handle、RPC数据、RPC代码、Binder协议,Handle是服务号,用来区分不同的服务,RPC代码和RPC数据分别是B应用待调用的函数和函数的参数,Binder协议表示IPC数据的处理方法,包括两种,从IPC层传递到Binder Driver和从Binder Driver传递到IPC层。
IPC数据从A应用传递到BinderDriver,Open()函数会调用Binder Driver的文件描述符,然后通过mmap()系统调用,在内核中开辟一块区域,存放接收的IPC数据,最后调用ioctl()函数,将IPC数据作为参数传递给Binder Driver。之后Binder Driver再把数据传递到B应用,所以binder是靠共享内存实现的进程间通信。
参考链接:
http://m.blog.csdn.net/article/details?id=50803196
0 0
- 【android】binder机制 binder协议
- Android binder -- Binder机制编程
- android binder机制---Binder驱动
- android的binder机制
- android binder机制
- android binder机制
- android binder机制实现
- android Binder机制深入浅出
- Android Binder机制
- Android Binder机制(使用)
- android binder机制
- Android Binder机制分析
- 【android】binder机制-servicemanager
- 【android】binder机制-service
- android binder机制
- Android Binder机制
- android下Binder机制
- Android Binder机制
- 《串行口通信原理及操作流程》
- 重映射houdini相机(解决相机缩放后渲染出现的问题)
- 回文序列
- 【codevs 1287】 矩阵乘法
- linux C语言数据库sqliet3的添加,删除,查看
- Android Binder机制
- /查找介于n1与n2(0<n1<n2<32768)之间所有满足下列条件的整数
- linux c setitimer定时器
- Ranger初始用
- 数据结构之稀疏矩阵的快速转置
- nodeJS
- 你真的会二分查找吗?
- 01 - HTML基础
- 1025. PAT Ranking (25)