Android系统的启动流程

Android系统启动流程图

一、boot rom


    芯片内部固化的rom程序,负责把BootLoader加载到ram中然后执行它


二、BootLoader


1、Bootloader区存放的是Bootloader,它负责嵌入式系统最初的硬件初始化、驱动和内核加载。
2、参数区不是必须的,通常存放了一些系统参数,并且通常这个区是没有文件系统,参数以原始数据的格式来存放。
3、内核镜像区存放的Linux内核压缩镜像,它被解压后运行于内存,作为嵌入式设备的Linux操作系统。
4、文件系统区存放经过压缩的文件系统,它会被Linux内核解压并挂载,并作为各种应用程序、文件的主要载体。
这四个部分都是存放在硬件的FLASH中。

三、idle 进程


idle 的pid 是0,有以下三个作用
1、    初始化进程管理、内存管理、加载binder驱动等相关工作
2、    创建init进程
3、    创建klthread进程

四、init进程


    是用户空间的第一个进程
init处理的重要事情:
1.挂载文件
2.设置selinux -- 安全策略
3.开启属性服务,注册到epoll中
4.解析init.rc 
5.循环处理脚本 -- 启动zygote
6.循环等待

五、zygote


native:
1.初始化运行环境,创建jvm Android的虚拟机  AndroidRuntime ART 
2.注册jni
3.调用 zygoteinit.main
java
1.预加载 -- 加快进程启动
2.socket  让别人通知我
3.启动 SystemServer 进程
4.进入死循环接收AMS传过来的消息
 

6、SystemServer进程

主要的作用是在这个进程中启动各种系统服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑吧撸码兄弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值