安卓系统的启动流程

操作系统的启动流程

  1. 读取引导文件
    引导文件为存放在硬盘0磁道位置的文本文件
  2. 根据引导文件加载操作系统的内核

Android的启动流程

  • Android的内核 , 基于Linux 2.6.x
  1. 根据引导文件加载Linux内核, 内核开始运行
  2. 加载驱动文件与数据结构
3. 加载用户级别的第一个进程(Android的应用层信息):

init.c(/system/core/init)
在其中创建目录, 挂载目录 , 读取配置信息等

4. 读取/system/core/rootdir/init.rc , 并在其中读取配置文件

在其中创建各种目录 ,启动各种服务

5. /system/bin/app_precess/App_main.cpp

启动java层的第一个服务: com.android.internal.os.ZygoteInit , 在进程中读取配置信息 , 加载类文件 , 月1.8k个 , 用循环的方式Class.loadClass()

6. startSystemServer系统服务
  • 通过Jni进入SystemServer.cpp的init1()方法 , 该方法调用SystemInit.cpp的方法 ,在回到java层 , 调用init2()方法启动了ServerThread服务 . 在JNI中启动了各种硬件.
7. 线程启动了ActivityManagerService的systemReady()方法 , 在其中调用resumeTopActivityLocked() , 启动了待机画面
安卓系统的启动流程_第1张图片

你可能感兴趣的:(安卓系统的启动流程)