2.binder驱动层原理

 

本章关键点总结 & 说明:

思维导图在系统核心机制binder这一部分中也是 持续不断迭代的,随着对binder的不断分析和讲解,导图内容也不断增多。这里主要关注➕ Binder驱动 部分即可。

本章节我们主要从驱动的角度来解读binder,首先要搞清楚的就是IPC通信机制,这就少不了基础知识,因此第一部分对基础做一个讲解,接下来对驱动的关键3大流程进行讲解,内容拷贝机制,最后谈谈transaction stack机制(数据传输时从源 发给 目标,目标怎么知道是 源发的呢)和server端的多线程(Binder的多线程到底是如何实现的,如何创建呢?这个是系统底层实现的)。

1 Binder,进程间的IPC通信机制

1.1 handle的含义

客户端表示为A,服务端表示为B

@1 handle表示客户端A对服务端B的引用(服务的引用),是binder IPC机制中对应驱动层的binder_ref

@2 handle对于每个不同的客户端进程A0、A1、A2,均指向服务端B的服务,但handle值不同。这类似于多个进程访问同一个文件,都会得到自己的文件描述符,但因为每个进程访问文件描述符的顺序不同而导致

你可能感兴趣的:(#,4.5Binder,system)