init进程到底在执行些什么

嵌入式arm-linux系统一般从上电到程序运行的大致流程为
Bootloader->kernel->mount rootfs->excute init script->excute user APPs

今天我们只分析挂载文件系统之后到运行用户程序之前的那部分内容:

arm-linux在启动时,启动的init进程其实是busybox中的init,我们知道busybox它不仅仅只有简单一些应用小程序,它也有busybox版的init的!
busybox版本的init程序在busybox-1-23-2(2015年第一版发布的)/init/init.c--->init_main()
在init_main函数中,我们不难发现它初始化了什么,大概如下
1).初始化一些信号的默认处理行为
2).初始化控制台
3).设置信号处理函数
3).运行初始化脚本,默认检测/etc/init.d/rcS文件夹内容
4).运行SYSINIT
5).运行WAIT
6).运行ONCE 
7).进入init循环
SYSINIT:是运行初始化配置文件
WAIT:是运行所有需要等待的
ONCE:是运行只运行一次的程序
init循环:
不断的检测系统中是否有需要运行停止的,停止的是否需要重新启动等等一些功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值