在init进程启动之后,servcieManager的进程启动远比zygote要早(啰嗦一下,在Anroid系统中所有的应用程序以及系统
服务进程SystemService都是由于zygote进程孕育出来的)因为在启动zygote进程时需要用到serviceManager进程服务,
ServiceManager是一个守护进程,它维护着系统服务和客户端的binder通讯。
在Android系统用到最多的通信机制就是Binder,binder主要由Client,Sevice.ServiceManager和Binder 驱动程序组成。其中Client,Service和ServiceManager运行在用户空间,
而Binder驱动程序运行在内核空间。核心组件就是Binder驱动程序了,而ServiceManager提供了辅助管理功能,无论是Client还是Service进行通信前首先要和ServicManager
取得联系,而ServiceManager是一个守护进程,负责管理Service并且向Client提供查询Service的功能。
总结一下,ServiceManager进程循环从Binder设备文件读取数据,然后解析数据,提供给Client,Service端进行查询。