Android驱动学习-内部机制_回顾binder框架关键点

Posted 叶念西风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android驱动学习-内部机制_回顾binder框架关键点相关的知识,希望对你有一定的参考价值。

内部机制_回顾binder框架关键点
server注册服务时, 对每个服务都提供不同的ptr/cookie,
在驱动程序里对每个服务都构造一个binder_node, 它也含有ptr/cookie

client使用服务前要先getService:会在驱动程序里对该服务构造一个binder_ref,
binder_ref含有desc, node成员, desc是整数, node指向对应服务的binder_node

使用服务时, client构造数据,调用ioctl:数据里含有handle

驱动程序根据handle找到binder_ref(desc==handle), 找到binder_node, 再找到server,
从binder_node取出ptr/cookie连同那些数据发给server

server根据ptr/cookie知道要调用哪一个服务,....

最核心函数: ioctl
client的最核心数据是:handle
server的最核心数据是:ptr/cookie







以上是关于Android驱动学习-内部机制_回顾binder框架关键点的主要内容,如果未能解决你的问题,请参考以下文章

Android:安卓学习笔记之Binder 机制的简单理解和使用

Android:安卓学习笔记之Binder 机制的简单理解和使用

Android Binder实现浅析-Binder驱动

细读《深入理解 Android 内核设计思想》Binder 机制 [下]

细读《深入理解 Android 内核设计思想》Binder 机制 [下]

Binder 机制分析 Android 内核源码中的 Binder 驱动源码 binder.c ( googlesource 中的 Android 内核源码 | 内核源码下载 )