Android framework系列1 - Android架构&系统启动流程

65 阅读1分钟

1、AOSP堆栈图

此处copy aosp官方文档中的两个图,从这两个图中可以看到整个Android系统的架构设计思想,具体每一层的分层说明可以参考官方文档说明:source.android.com/docs/core/a…
在这里插入图片描述
在这里插入图片描述

2、系统启动流程图

Android系统启动流程网上分析的也很多,此处找了一个比较好的图借鉴下
在这里插入图片描述
这个图中能够说明了整个系统的启动过程,芯片上电后会通过固化在芯片内部的程序加载指定地址的代码进行执行,指定的代码在当前的设计分层中也就是BootLoader代码,BootLoader完成一些硬件初始化动作并加载linux内核,在内核层面会启动swapper进程(进程号为0)并初始化一些内核层要做的事情,然后会启动用户空间的第一个进程init(进程号为1),启动这个init进程后,我们就可以使用linux编程来完成一些业务层面的操作了。Android framework层面简单来讲其实就是在linux系统中启动了各个进程框架,把一些基础能力都封装好,简单可以理解为就是一个大的sdk,以供app开发者使用。
我们可以通过命令看一下进程信息:
在这里插入图片描述
这些启动里面的每一层都是一个比较庞大的知识体系,都是值得研究的方向。