本文主要是介绍Binder IPC的理解系统Server调用过程分析(Android Q),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
概述
Android作为一个移动端的操作系统,就必须提供一种可靠的跨进程通信方案。
我们来想想,移动端有哪些特性,IPC跨进程通信需要满足哪些特性?
高效
首先,移动端资源比较有限,尤其是在早期的时候,硬件设备跟PC相比差距很大,这就要求Android系统在设计时,尤其要注意资源的使用效率,所以,IPC首先要满足 ”高效” 这一点。
安全性
其次,在Android系统上,运行着各种应用,有系统自带的,也有开发者提交的,这里面不乏各种恶意应用。所以Android系统在设计上必须要保证每个App的 “安全性”,为此,Android系统基于Linux内核,也同时继承了Linux的各种安全模型。例如,Android中分为各种用户组,用户组里面运行着各种进程,每个用户组/用户都会分别赋予不同的权限,并且每个进程都会运行在独立的沙箱中,这样保证了进程间的隔离,大大提高了系统的安全性。为了进一步增强了系统的安全性,在Android 4.4之后,Android系统加入了SELinux强制访问控制策略。那么进程之间的IPC通信,同样要保障其安全性!如何来保障呢?Binder的设计实现,恰好满足了这一点。
Binder是什么?
Android系统是基于Linux内核开发的,那么它自然就继承了Linux在IPC使用
这篇关于Binder IPC的理解系统Server调用过程分析(Android Q)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!