Binder机制

本文深入探讨了Android中的Binder机制,解释了Binder作为进程间通信(IPC)的方式如何工作。介绍了Binder运行机制中的四个角色:Client进程、Server进程、ServiceManager进程和Binder驱动,以及其在移动设备性能和安全方面的优势。此外,还提到了Binder的线程管理和对应用开发者的重要性。
摘要由CSDN通过智能技术生成

面试题:Binder是什么?它是如何实现跨进程通信的?

Binder的英文原意是“胶水”的意思,其实很形像了。Binder模糊了进程边界,淡化了进程间通信的过程,整个系统仿佛运行于同一个面向对象的程序之中。形形色色的Binder对象以及星罗棋布的引用仿佛粘接各个应用程序的胶水。

要理解Binder当然要先从Linux进程说起。

Linux进程基础

为了保护进程空间不被别的进程破坏或者干扰,Linux的进程是相互独立的(进程隔离),而且一个进程空间还分为用户空间和内核(Kernel)空间,相当于把Kernel和上层的应用程序抽像的隔离开。这里有两个隔离,一个进程间是相互隔离的,二是进程内有用户和内核的隔离。

即然有隔离,那么它们之前要相互配合时就得有合作(交互)。进程间的交互就叫进程间通信(IPC,或称跨进程通信),而进程内的用户和内核的交互就是系统调用。

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

也就是说,为了保证安全性和独立性,一个进程是不能直接操作或者访问别一个进程空间的。Android即然是架设在Linux基础之上的,当然也要解决这个进程间通信的问题。

为什么要使用Binder?

在传统的Linux上,我们还是有很多选择可以用来实现进程间通信,如管道、SystemV、Socket等。那么Andro

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值