一、
首先启动Linux基础系统,然后引导加载Linux kernel并启动初始化进程(init)如图1-1所示,
二、
接着启动Linux守护进程(daemon)这个过程主要需要启动以下内容: 如图1-2
启动Linux守护进程的同时还要启动Zygote进程,它主要包括以下需要注册和启动的内容:如图1-3
三、初始化runtime进程在这个过程中需要处理以下操作:如图1-4
四、runtime进程发送一个请求到Zygote,开始启动系统服务,这时Zygote将为系统服务进程启动一个dalvik虚拟机实例,并启动系统服务,如图1-5
五、系统服务将启动原生系统服务,主要包括surface flinger和Audio Flinger,这些本地服务都将注册到服务管理器(service manager)作为IPC服务的目标,如图1-6
六、系统服务将启动Android管理服务,Android管理服务都将被注册到服务管理器上,如图1-7
七、最后,当系统启动完所有的服务之后会处于等待状态,等待程序运行。但是,每一个应用程序都将启动一个单独的线程,,如图1-8所示,系统启动了一个Home进程和Contact进程,那么,进程间将如何进行交互呢,这就需要IPC机制了