安卓开机过程描述开机过程对任何电子类产品终端来说是很重要的,安卓终端也是如此。基于安卓 系统, 描述开机过程中被调用的文件,重点描述: ,如是,指明音效文件的位置 ,如是,指明视频的格式要求及存放位置安卓开机过程描述一, 描述开机过程中被调用的文件 1. 系统引导 bootloader 1) 源码: bootable/bootloader/* 2) 说明:加电后, CPU 将先执行 bootloader 程序,此处有三种选择 a) 开机按 Camera+Power 启动到 fastboot , 即命令或 SD 卡烧写模式, 不加载内核及文件系统,此处可以进行工厂模式的烧写 b) 开机按 Home+Power 启动到 recovery 模式, 加载 , 包含内核,基本的文件系统,用于工程模式的烧写 c) 开机按 Power ,正常启动系统,加载 , 包含内核,基本文件系统,用于正常启动手机(以下只分析正常启动的情况) 2. 内核 kernel 1) 源码: kernel/* 2) 说明: kernel 由 bootloader 加载 3. 文件系统及应用 init 1) 源码: system/core/init/* 2) 配置文件: system/rootdir/ , 3) 说明: init 是一个由内核启动的用户级进程,它按照 中的设置执行:启动服务( 这里的服务指 linux 底层服务,如 adbd 提供 adb 支持, vold 提供 SD 卡挂载等), 执行命令和按其中的配置语句执行相应功能 4. 重要的后台程序 zygote 1) 源码: frameworks/base/cmds/ 等 2) 说明: zygote 是一个在 中被指定启动的服务,该服务对应的命令是/system/bin/app_process a) 建立 Java Runtime ,建立虚拟机 b) 建立 Socket 接收 ActivityManangerService 的请求,用于 Fork 应用程序 c) 启动 System Server 5. 系统服务 system server 1) 源 码: frameworks/base/services//android/server/ 2) 说明: 被 zygote 启动,通过 System Manager 管理 android 的服务(这里的服务指 frameworks/base/services 下的服务,如卫星定位服务,剪切板服务等) 6. 桌面 launcher 1) 源码: 为入口, packages/apps/launcher* 实现 2) 说明:系统启动成功后 SystemServer 使用 () 通知各个服务,系统已经就绪,桌面程序 Home 就是在 () 通知的过程中建立的,最终调用 st
安卓开机过程 来自淘豆网m.daumloan.com转载请标明出处.