其他分享
首页 > 其他分享> > Android Binder 的主要内容概述以及特性和原理,为什么大公司一定要使用微服务

Android Binder 的主要内容概述以及特性和原理,为什么大公司一定要使用微服务

作者:互联网

3.Binder特性?

3.1 性能?

[图片上传失败…(image-675747-1628086130715)]

3.2 稳定性?

3.3 安全性?

3.4 结论:

[图片上传失败…(image-a27659-1628086130715)]

三、Linux下IPC原理


[图片上传失败…(image-7a3593-1628086130715)]

1.进程隔离

2.用户空间与内核空间

3.用户态与内核态

copy_from_user() //将数据从用户空间拷贝到内核空间

copy_to_user() //将数据从内核空间拷贝到用户空间

复制代码

四、Binder原理


4.1 Binder组成

[图片上传失败…(image-590516-1628086130715)]

Binder 是基于 C/S 架构的。由一系列的组件组成,包括 Client、Server、ServiceManager、Binder 驱动。其中 Client、Server、Service Manager 运行在用户空间,Binder 驱动运行在内核空间。其中 Service Manager 和 Binder 驱动由系统提供,而 Client、Server 由应用程序来实现。Client、Server 和 ServiceManager 均是通过系统调用 open、mmap 和 ioctl 来访问设备文件 /dev/binder,从而实现与 Binder 驱动的交互来间接的实现跨进程通信。

如同互联网中客户端(Client),Binder是Server本地对象的一个引用,这个引用实际上是一个代理对象,Client通过这个代理对象来间接访问Server的本地对象;

如同互联网中服务器(Server),Binder是提供具体实现的本地对象,需向ServiceManager注册;

如同互联网中DNS域名服务器(ServiceManager),管理Servive注册和查询,作用是将字符形式的 Binder 名字转化成 Client 中对该 Binder 的引用,使得 Client 能够通过 Binder 的名字获得对 Binder 实体的引用。注册了名字的 Binder 叫实名 Binder,就像网站一样除了除了有 IP 地址意外还有自己的网址。

如同互联网中路由器(Binder 驱动),是整个通信的核心;驱动负责进程之间 Binder 通信的建立,Binder 在进程之间的传递,Binder 引用计数管理,数据包在进程之间的传递和交互等一系列底层支持。

实名 Binder,就像网站一样除了除了有 IP 地址意外还有自己的网址。

如同互联网中路由器(Binder 驱动),是整个通信的核心;驱动负责进程之间 Binder 通信的建立,Binder 在进程之间的传递,Binder 引用计数管理,数据包在进程之间的传递和交互等一系列底层支持。

标签:用户,空间,Binder,Client,概述,内核,进程,Android
来源: https://blog.csdn.net/m0_66145060/article/details/122715830