Android ServiceManager○

1.ServiceManager

ServiceManager在init进程启动后启动,用来管理系统中的Service。

首先看一下开机过程,一般开机过程分为三个阶段:

①OS级别,由bootloader载入linux内核,内核开始初始化,并载入built-in的驱动程序,内核完成开机后,载入init进程,切换至用户空间。

②Android-level,由init进程开始,读取init.rc,Native服务启动,并启动重要的外部程序,如ServiceManager、zygote。

③Zygote-Mode,Zygote启动System Service,然后进入Zygote Mode,在Socket等候命令,随后,使用者将看到一个桌面环境,桌面环境由一个名为Launcher的应用程序负责提供。

ServiceManager是由init进程启动的,它是Binder进程间通信机制的核心组件之一,扮演着Binder进程间通信机制上下文管理者的角色,同时它还负责管理系统中的Service组件,并且向Client组件提供获取Service代理对象的服务。

ServiceManager运行在一个独立的进程中,因此Service组件和Client组件也需要通过进程间通信机制来和它进行交互,而采用的进程间通信机制也是Binder机制。这样看来ServiceManager除了是Binder进程间通信机制的上下文管理者外,还是一个特殊的Service组件。

进程间通信:

猜你喜欢

转载自blog.csdn.net/zenmela2011/article/details/129085151
今日推荐