binder源码分析(一)
binder源码分析(二)
binder源码分析(三)
binder源码分析(四)
binder源码分析(五)
前言
接触Android的时候就对binder有所耳闻,作为进程间通信的工具,binder驱动,拷贝数据的次数少,也不是太复杂,前段时间看来了些源码,自己尝试分析了之后还是受益匪浅,写下来,日后也可以看看回顾一下。
这里也是servicemanager开始,串一遍注册和获取服务的过程,分析一下binder的源码。(Android O版本,内核为3.18)
servicemanager
- 首先是servicemanager的注册,值得注意的是,servicemanager不是java程序,是用C跑的。
servicemanager.c
int main(int argc, char** argv)
{
struct binder_state *bs;
union selinux_callback cb;
char *driver;
if (argc >