12.Binder机制

作者: gadfly_only | 来源:发表于2016-08-08 23:41 被阅读152次

what

Binder是Android系统中的一种IPC进程间通信结构。不仅可以用来实现进程件的IPC通信,还可以用来调用另一个进程的函数,支持RPC操作,Binder使用运行在内核空间中的抽象驱动程序Binder(IPC) Driver,来实现进程间的通信。

Paste_Image.png Paste_Image.png

why

1.从性能的角度
数据拷贝次数:Binder数据拷贝只需要一次,而管道、消息队列、Socket都需要2次,但共享内存方式一次内存拷贝都不需要;从性能角度看,Binder性能仅次于共享内存。

内核刚开始只是分配了一个物理页,并且分别将这个物理页映射到进程的内核虚拟地址空间V1(修改内核空间的页表映射)和进程的用户虚拟地址空间V2(修改用户空间的页表映射)。在用户空间访问V1和在内核空间访问V2,其实都是访问的是同一个物理内存块,从而实现进程的内核和用户空间共享同一块物理内存的目的。这样binder驱动在内核空间,将一段数据拷贝到这个物理页,则该进程的用户空间则不需要copy_to_user()即可以同步看到内核空间的修改,并能够访问这段物理内存。

2.从稳定性的角度
Binder是基于C/S架构的,简单解释下C/S架构,是指客户端(Client)和服务端(Server)组成的架构,Client端有什么需求,直接发送给Server端去完成,架构清晰明朗,Server端与Client端相对独立,稳定性较好;而共享内存实现方式复杂,没有客户与服务端之别, 需要充分考虑到访问临界资源的并发同步问题,否则可能会出现死锁等问题;从这稳定性角度看,Binder架构优越于共享内存。
3.从安全的角度
使用用户空间无法访问的内存空间来交换数据,保证了IPC的安全性.

Binder的整个设计是C/S结构,客户端进程通过获取服务端进程的代理,并通过向这个代理接口方法中读写数据来完成进程间的数据通信。
Android之所以选择Binder,我觉得有2个方面的原因。
1是安全,每个进程都会被Android系统分配UID和PID,不像传统的在数据里加入UID,这就让那些恶意进程无法直接和其他进程通信,进程间通信的安全性得到提升。
2是高效,像Socket之类的IPC每次数据拷贝都需要2次,而Binder只要1次,在手机这种资源紧张的情况下很重要。

内核刚开始只是分配了一个物理页,并且分别将这个物理页映射到进程的内核虚拟地址空间V1(修改内核空间的页表映射)和进程的用户虚拟地址空间V2(修改用户空间的页表映射)。在用户空间访问V1和在内核空间访问V2,其实都是访问的是同一个物理内存块,从而实现进程的内核和用户空间共享同一块物理内存的目的。这样binder驱动在内核空间,将一段数据拷贝到这个物理页,则该进程的用户空间则不需要copy_to_user()即可以同步看到内核空间的修改,并能够访问这段物理内存。

Binder系列
为什么 Android 要采用 Binder 作为 IPC 机制?
Android源码的Binder权限是如何控制?
Android Binder 全解析(3) -- AIDL原理剖析

相关文章

  • 12.Binder机制

    what Binder是Android系统中的一种IPC进程间通信结构。不仅可以用来实现进程件的IPC通信,还可以...

  • 摘要

    监狱安全管理的机制,由领导责任机制,安全防控机制,隐患排除机制,应急处置机制,狱情搜集机制组成。领导责任机制,坚持...

  • Android开发者需掌握的进阶技能

    1:熟悉各大Android 机制(handler机制,事件分发机制,binder机制...) 2:熟悉 view ...

  • RunTime

    前言 RunTime简称运行时机制,其实OC就是一种运行时机制(消息机制是运行时机制中最重要的机制) 消息机制:任...

  • android handler 机制 很简单

    1.android handler机制 handler机制,也就是android的异步消息处理机制。但是这个机制不...

  • python内存管理机制

    Python内存管理机制 Python内存管理机制主要包括以下三个方面: 引用计数机制 垃圾回收机制 内存池机制 ...

  • 类加载机制(一)

    加载机制系列类加载机制(一)类加载机制(二)类加载机制(三) 类加载机制 1.JVM把class文件加载到内存,对...

  • 销售管理概述

    概念明晰 企业的三大机制:制造机制,财务机制,销售机制(回收成本的机制) 以行动为导向的营销管理架构:定位、品牌、...

  • 城市形态与价值标准

    目的,思想,价值观——城市运转机制——机制构件:空间物质机制,经济财务运行机制,社会管理体系,文化营造机制等等, ...

  • Runtime

    相关简单介绍 消息机制消息传递机制消息转发机制-动态添加方法消息转发机制-快速转发消息转发机制-慢速转发消息转发机...

网友评论

    本文标题:12.Binder机制

    本文链接:https://www.haomeiwen.com/subject/hvifsttx.html