yjy239的博客
Android 重学系列 Binder的总结 Android 重学系列 Binder的总结
前言本文实际上是Android 重学系列 Binder驱动相关知识的总结。关于Binder驱动的源码分析我划分出了6部分: 1.Binder驱动的初始化 syscall原理 2.Binder驱动的初始化 mmap映射原理 3.Binder
2020-09-06
Android 重学系列 Binder 死亡代理 Android 重学系列 Binder 死亡代理
背景这是Binder系列的最后一篇了。让我们来聊聊Binder的死亡代理是怎么处理。我们之前只是聊了Binder的启动和传输数据,还差最后一个模块就补上整个缺口了。如果遇到问题:https://www.jianshu.com/p/e2200
2019-05-11
Android 重学系列 Binder 服务的初始化以及交互原理(下) Android 重学系列 Binder 服务的初始化以及交互原理(下)
如果遇到问题请到:https://www.jianshu.com/p/84b18387992f 背景为了避免逻辑断链,这里稍微提及一下,之前所阅读到的位置 IBinder* b = e->binder; if (b ==
2019-05-11
Android 重学系列 Binder 服务的初始化以及交互原理(上) Android 重学系列 Binder 服务的初始化以及交互原理(上)
前言经过前面三篇binder驱动的初始化阐述,我大致上稍微复习一边linux内核的基础知识,也对binder的理解更加深刻。接下来我们来看看binder 的服务是怎么注册到service_manager。如果遇到问题请到:https://w
2019-05-11
Android 重学系列 Binder驱动初始化 Binder的Looper初始化(三) Android 重学系列 Binder驱动初始化 Binder的Looper初始化(三)
如果遇到问题请到:https://www.jianshu.com/p/2ab3aaf2aeb6 ServiceMananger 的初始化第二步 把进程对象注册到Binder驱动中文件:/frameworks/native/cmds/serv
2019-05-03
Android 重学系列 Binder驱动的初始化 映射原理 Android 重学系列 Binder驱动的初始化 映射原理
背景让我们继续看看Binder的初始化流程。上一篇,经过千辛万苦终于到了内核驱动中的open方法。现在到了内存映射的阶段,也是binder为什么高效的主要原因。 注意下面的源码,是来自Android的Linux 内核 3.18 如果遇到问题
2019-05-02
Android 重学系列 Binder驱动的初始化 syscall原理 Android 重学系列 Binder驱动的初始化 syscall原理
背景聊完前面的红黑树算法,让我复习,学习Binder驱动的内容。Binder可以说是整个Android系统中最为常用的进程间通讯。无论是AMS,WMS,PMS,几乎所有的Android核心服务都通过Binder向四面八方的应用通信。可以说是
2019-05-02