Binder机制初识

Binder是Android系统中大量使用的IPC(Inter Process Communication,进程间通信)机制;l

 

Binder在Android中的使用情景:

应用程序对服务器的请求;

应用程序自身提供对外服务;

 

Unix/Linux下传统的IPC机制有哪些?

管道、消息队列、共享内存、信号量、Socket等;

 

为什么在Android中会大量使用Binder机制?(传统的IPC ,socket会用)

Binder本身是C/S架构的,更符合Android系统架构;

性能更有优势:相比传统的IPC(管道、消息队列、socket的通信需要复制两次数据,因为要穿越两次内核),Binder IPC只需要一次(对系统底层的IPC,少一次数据复制,能极大提升整体性能);

安全性更好:传统IPC形式无法得到对方的身份标识(UID/GID),在使用Binder IPC时,进程的身份标识是自跟随调用过程动传递的;server端容易获知client的身份,方便做安全检查;

 

Binder的整体架构是什么样的?

Framework层

     JAVA部分;

     JNI部分;

     C++部分;

 

驱动层

    驱动层位于Linux内核中,提供了最底层的数据传递、对象标识、线程管理、调用控制过程等功能;驱动层是整个Binder机制的核心;

 

Framework层以驱动层为基础,提供了应用开发的基础设施;

Framework层既包含了C++部分实现,也包含了Java的部分实现;为了能将C++实现复用到JAVA端,中间通过JNI衔接;

 

 

什么叫做进程间的通信?

至少涉及两个进程的交互;

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值