android面试(6)-Binder机制

本文介绍了Android中的Binder机制,从Linux内核基础知识入手,包括用户空间/内核空间、系统调用和Binder驱动。Binder机制因性能和安全考虑被引入,通信过程中数据拷贝仅需一次,且支持身份验证。文章详细阐述了Binder通信模型,涉及ServerManager、服务端和客户端的角色,并解释了Binder驱动在通信中的作用。最后,作者提供了对Binder的不同理解角度:通信机制、本地对象和代理对象以及跨进程传递的对象。
摘要由CSDN通过智能技术生成

一直说,要写一篇关于Binder的详解,今天终于发福利了~

说到Binder,真的是头大,因为它涉及到的知识点实在是太多,所以在这里,我不准备总结太底层的东西,原因嘛,就是因为我也还没搞清楚,哈哈~~;

好了,言归正传,要想了解Binder,首先得了解一些Linux内核的基础知识:

1.Linux内核基础知识:

(1)用户空间/内核空间:

一切从简,用户空间指的是用户程序所运行的空间,内核空间是 Linux 内核的运行空间,为了安全,它们是隔离的,即使用户的程序崩溃了,内核也不受影响。

(2)系统调用

Linux将用户空间和内核空间隔离是有其道理的,用户软件良莠不齐,要是它们乱搞把系统玩坏了怎么办?因此对于某些特权操作必须交给安全可靠的内核来执行。

但是虽然是隔离的,但是总有一些用户软件需要访问内核空间,比如应用程序访问文件,网络是很常见的事情,怎么办呢?

用户空间访问内核空间的唯一方式就是系统调用;通过这个统一入口接口,所有的资源访问都是在内核的控制下执行,以免导致对用户程序对系统资源的越权访问,从而保障了系统的安全和稳定。

(3)Binder驱动:

通过系统调用,用户空间可以访问内核空间,那么如果一个用户空间想与另外一个用户空间进行通信怎么办呢?很自然想到的是让操作系统内核添加支持;传统的 Linux 通信机制&#

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值