云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > android系统从init进程开始到systemserver启动详细流程

android系统从init进程开始到systemserver启动详细流程

  • 62 次阅读
  • 3 次下载
  • 2025/12/19 17:16:51

android系统启动流程

注意:

1) 解析rc文件中所有的action,token,ketwork,section,service等:

一直跟踪parse_new_section,会发现最后数据存在servicelist,actionlist等链表中去了,后续执行这些解析出来的数据的时候,正是从servicelist,actionlist中取出来,加入到执行队列queue中.。至于rc文件到底是怎么解析的,其中有什么关键内容,先放到后面。

2) 嵌套调用init_parse_config_file:

继续解析完init.rc用import导入的所有其他rc. 看看init.rc的开头是如何导入其他文件的:

其中的import /init.${ro.hardware}.rc,显然需要知道ro. hardware到底是什么值。 前面分析init.c的main函数的时候,我们注意到下面2个函数:

9 / 52

android系统启动流程

3)进入\\system\\core\\init\%util.c的get_hardware_name: 该函数的源代码如下:

我们在终端cat /proc/cpuinfo获得如下信息

前面是4个CPU信息(4核处理器),最后明确看到Hardware的值是bigfish.

10 / 52

android系统启动流程

4)回到\\system\\core\\init\\init.c的 process_kernel_cmdline:

process_kernel_cmdline中调用了export_kernel_boot_props函数,这个函数设置了 ro. hardware这个属性的值:

ro.boot.hardware在 系统中没有设值,所以hardware这个字符串保持为bigfish,导致:

目录下,和init.rc同级.

5)接下来,解析得到的所有action就开始加入到执行队列:

所以import /init.${ro.hardware}.rc就是import /init. bigfish.rc,而这个文件在终端的根

并在\\system\\core\\init\\init.c的main的for循环中得以执行。

11 / 52

android系统启动流程

3.4核心任务三:执行command,监控service重启h和socket请求

\\system\\core\\init\\init.c的main:

poll这个api其实就是检测传入的socket的可读,可写,异常等状态;返回POLLIN表示该socket可读,此时就分别调调三种类型任务对应的handle接口进行任务处理。

这三个socket分别是在各自的模块初始化函数(init)中创建的:

3.5疑问:传说中的zygote进程启动在 哪里?

通过上面对\\system\\core\\rootdir\\init.c下面main函数及其执行的相关核心任务的解析,init进程到底干了些什么事,已经基本清楚了,但是我们似乎没发现传说中的zygote进程在哪里启动?

main函数的任务中,唯一确实看到他到底是内容,到底在做什么的就是init.rc的内容,整理我们还没有详细分析过,而zygote和servicemanager等的启动其实就藏在里面,我们这里只关注zygote。

12 / 52

搜索更多关于: android系统从init进程开始到systemserve 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

android系统启动流程 注意: 1) 解析rc文件中所有的action,token,ketwork,section,service等: 一直跟踪parse_new_section,会发现最后数据存在servicelist,actionlist等链表中去了,后续执行这些解析出来的数据的时候,正是从servicelist,actionlist中取出来,加入到执行队列queue中.。至于rc文件到底是怎么解析的,其中有什么关键内容,先放到后面。 2) 嵌套调用init_parse_config_file: 继续解析完init.rc用import导入的所有其他rc. 看看init.rc的开头是如何导入其他文件的: 其中的import /i

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com