芯片内部固化的rom程序,负责把BootLoader加载到ram中然后执行它
1、Bootloader区存放的是Bootloader,它负责嵌入式系统最初的硬件初始化、驱动和内核加载。
2、参数区不是必须的,通常存放了一些系统参数,并且通常这个区是没有文件系统,参数以原始数据的格式来存放。
3、内核镜像区存放的Linux内核压缩镜像,它被解压后运行于内存,作为嵌入式设备的Linux操作系统。
4、文件系统区存放经过压缩的文件系统,它会被Linux内核解压并挂载,并作为各种应用程序、文件的主要载体。
这四个部分都是存放在硬件的FLASH中。
idle 的pid 是0,有以下三个作用
1、 初始化进程管理、内存管理、加载binder驱动等相关工作
2、 创建init进程
3、 创建klthread进程
是用户空间的第一个进程
init处理的重要事情:
1.挂载文件
2.设置selinux -- 安全策略
3.开启属性服务,注册到epoll中
4.解析init.rc
5.循环处理脚本 -- 启动zygote
6.循环等待
native:
1.初始化运行环境,创建jvm Android的虚拟机 AndroidRuntime ART
2.注册jni
3.调用 zygoteinit.main
java
1.预加载 -- 加快进程启动
2.socket 让别人通知我
3.启动 SystemServer 进程
4.进入死循环接收AMS传过来的消息
主要的作用是在这个进程中启动各种系统服务