打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Android init 进程 init.rc init.*.rc

1. init 进程是Android 启动后由内核启动的第一用户级进程,init 进程是系统的守护进程,init进程有四个作用依次为:子进程终止处理,生成设备驱动节点,分析及运行init.rc 文件和init.*.rc 文件, 初始化属性服务。init 进程源码位于android_root_dir/system/core/init/init.c 内。

2.init 进程执行流程:

注册与子进程相关的SIGCHLD信号处理器,

创建并挂载启动所需的文件目录,

解析init.rc 文件,

初始化qemu设备,设置模拟器环境,

解析init.*.rc 文件,

创建进程中已经定义好的设备节点文件,生成静态设备节点,

初始化属性服务,

显示logo 在LCD屏幕上,只支持rle565格式的图片,

设置系统初始值,

执行与action_list 相关的init区块的命令,

启动属性服务,

创建套接字,因为子进程若要修改属性值必须向Init申请,故生成“dev/socket/property_service" 套接字,以接收申请,

执行与action_list 相关的init区块的命令,

设置事件处理循环的监听事件,

循环处理事件,

2. init.rc 是init进程启动后执行的启动脚本,定义android系统通用的环境设置及与记录进程相关设置,Init.*.rc 是定义android 在不同平台下的特定进程和环境设置,与Init.rc类似。init.rc 主要包括以On开头的 action list和以service开头的service list, action list 创建所需目录,指定特定文件的权限,service list 记录初始化程序需要启动的程序。


on init 部分:设置环境变量,挂载文件系统,

主要设置根文件系统目录,以及编译时所需的库目录, android 采用NAND FLASH 所以挂载文件系统格式为yaffs2 , 主要挂载 /system /data 两个目录,

/system/bin 存放shell 命令集, app- 基本应用, framework- java lib, lib- bionic lib , /data 及其子目录存放user data.


on boot 部分:设置应用程序终止条件以及驱动目录和文件权限等,

在应用程序终止条件中为各应用指定了OOM 的调整值,值越大,终止优先级越高

service部分  记录 init 进程启动的进程,

一般是一次性程序或运行在后台的deamon 进程

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Linux Systemd 详细介绍: Unit、Unit File、Systemctl、Target
Android 核心分析 之八------Android 启动过程详解
android的init过程分析
Android启动过程深入解析 on命令
深入浅出
把linux可执行程序做成一个服务[转]
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服