至此,对Binder机制总算是有了一个感性的认识,但仍然感到不能很好地从上到下贯穿整个IPC通信过程,于是,打算通过下面两个情景来分析Binder源代码,以进一步理解Binder机制:
1. Service Manager是如何成为一个守护进程的?即Service Manager是如何告知Binder驱动程序它是Binder机制的上下文管理者。
2. Server和Client是如何获得Service Manager接口的?即defaultServiceManager接口是如何实现的。
3. Server是如何把自己的服务启动起来的?Service Manager在Server启动的过程中是如何为Server提供服务的?即IServiceManager::addService接口是如何实现的。
4 Service Manager是如何为Client提供服务的?即IServiceManager::getService接口是如何实现的。
5. Client和Server是如何间接通过Binder驱动程序进行进程间通信的?
在接下来的两篇文章中,将按照这五个情景来分析Binder源代码,都将会涉及到用户空间到内核空间的Binder相关源代码,敬请关注。