Binder机制总结

作者: 奔跑吧哈哈 | 来源:发表于2020-10-05 16:45 被阅读0次

整个Android系统架构中,大量采用了Binder机制作为IPC(进程间通信)方案。

为什么 Android 要采用 Binder 作为 IPC 机制
  • 性能方面
    在移动设备上(性能受限制的设备,比如要省电),广泛地使用跨进程通信对通信机制的性能有严格的要求,Binder相对出传统的Socket方式,更加高效。Binder数据拷贝只需要一次,而管道、消息队列、Socket都需要2次,共享内存方式一次内存拷贝都不需要,但实现方式又比较复杂。

  • 安全方面
    传统的进程通信方式对于通信双方的身份并没有做出严格的验证,比如Socket通信ip地址是客户端手动填入,很容易进行伪造,而Binder机制从协议本身就支持对通信双方做身份校检,因而大大提升了安全性。

Binder通信采用C/S架构,Binder通信架构图:
Binder通信的四个角色

Client进程:使用服务的进程。

Server进程:提供服务的进程。

ServiceManager进程:ServiceManager的作用是将字符形式的Binder名字转化成Client中对该Binder的引用,使得Client能够通过Binder名字获得对Server中Binder实体的引用。

Binder驱动:驱动负责进程之间Binder通信的建立,Binder在进程之间的传递,Binder引用计数管理,数据包在进程之间的传递和交互等一系列底层支持。

Binder运行机制

注册服务(addService):Server进程要先注册Service到ServiceManager。该过程:Server是客户端,ServiceManager是服务端。

获取服务(getService):Client进程使用某个Service前,须先向ServiceManager中获取相应的Service。该过程:Client是客户端,ServiceManager是服务端。

使用服务:Client根据得到的Service信息建立与Service所在的Server进程通信的通路,然后就可以直接与Service交互。该过程:client是客户端,server是服务端。

Client,Server,Service Manager之间交互都是虚线表示,是由于它们彼此之间不是直接交互的,而是都通过与Binder驱动进行交互的,从而实现IPC通信方式。其中Binder驱动位于内核空间,Client,Server,Service Manager位于用户空间。Binder驱动和Service Manager可以看做是Android平台的基础架构,而Client和Server是Android的应用层,开发人员只需自定义实现client、Server端,借助Android的基本平台架构便可以直接进行IPC通信。

相关文章

  • Binder总结分析_应用层

    Binder总结分析_native层 Binder是Android系统提供的一种IPC机制(Inter-Proce...

  • Binder机制总结

    整个Android系统架构中,大量采用了Binder机制作为IPC(进程间通信)方案。 为什么 Android 要...

  • Binder机制总结

    一、Binder机制概述 在Android开发中,很多时候我们需要用到进程间通信,所谓进程间通信,实现进程间通信的...

  • Android framework学习索引

    binder基础 启动流程要求对于binder机制有了解,要有binder的学习基础binder机制https:/...

  • Binder相关总结

    本文用于记录Binder机制的相关知识总结。简单讲,Binder是Android跨进程通信方式。进程本质是一个对象...

  • Android多进程机制(二)Binder工作机制

    Binder工作机制 我们可以先从SDK自动为我们生成的AIDL对应的Binder类来分析Binder工作机制。 ...

  • Binder 总结

    什么是binder binder是Android 中的一种进程间通信机制(IPC机制) binder 为什么会出现...

  • binder 机制

    binder 机制

  • 移动架构07-Binder核心机制

    移动架构07-Binder核心机制 一、什么是Binder 从机制上说,Binder是一种Android中实现跨进...

  • Binder

    Binder是Android中跨进程通信的一种机制,Binder机制的优点有: 1.高效 Binder数据拷贝只需...

网友评论

    本文标题:Binder机制总结

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