linux根文件系统init进程分析
来源:互联网 发布:什么叫红颜知已 编辑:程序博客网 时间:2024/06/05 21:17
init程序本身即busybox:
- 配置文件
- 解析配置文件
- 执行用户程序
程序执行过程:
busybox -> init_main
parse_inittab
file = open(INITTAB,"r"); //打开配置文件 /etc/inittab
new_init_action
1、创建一个init_action结构,填充
2、把这个结构放入init_action_list这个链表中
run_actions(SYSINIT);
waitfor(a,0); //执行应用程序,等待他执行完毕
run(a); //创建process子进程
wait(runpid,&status,0); //等待执行结束
delete_init_action(a); //在init_action_list链表里删除
run_actions(WAIT);
waitfor(a,0); //执行应用程序,等待他执行完毕
run(a); //创建process子进程
wait(runpid,&status,0); //等待执行结束
run_actions(ONCE);//与SYSINIT,WAIT有区别。
run(a); //创建process子进程
delete_init_action(a); //在init_action_list链表里删除
while(1)
{
runactions(RESPAWN);
if(a->pid == 0)
{
a->pid = run(a);
}
run_actions(ASKFIRST);//
if(a->pid == 0)
{
a->pid = run(a);
打印 Please press Enter to activate this console
创建子进程
wpid = wait(NULL); //等待子进程退出
while(wpid > 0)
{
a->pid = 0; //退出后,就设置 pid=0;
}
}
-------------------------------------------------------------------------------------------------------------
inittab的格式: (指定程序,何时执行) /etc/inittab
<id>:<runlevels>:<action>:<process>
id =>/dev/id, 用作终端:stdin,stdout,stderr:printf,scanf,err
runlevels: 可完全忽略
action:指定何时执行
process:应用程序的或脚本
-------------------------------------------------------------------------------------------------------------
最小根文件系统:
- /dev/console /dev/null
- init->busubox
- /etc/inittab
- 由配置文件指定的程序
- c库
- linux根文件系统init进程分析
- 根文件系统init进程分析
- 构造根文件系统之init进程分析
- 分析Android 根文件系统启动过程(init守护进程分析
- 分析Android 根文件系统启动过程(init守护进程分析
- 构建Linux根文件系统一:内核init进程的启动分析
- Android 根文件系统启动过程(init进程 详细分析)
- Android 根文件系统启动过程(init进程 详细分析)
- 韦东山第11课-根文件系统init进程分析
- 构建Linux根文件系统二:Busybox init进程的启动
- linux初始化进程init分析
- 分析Android 根文件系统启动过程(init守护进程分析)
- 分析Android 根文件系统启动过程(init守护进程分析)
- 分析Android 根文件系统启动过程(init守护进程分析)
- 分析Android 根文件系统启动过程(init守护进程分析)
- [zz] 分析Android 根文件系统启动过程(init守护进程分析)
- 分析Android 根文件系统启动过程(init守护进程分析)
- 分析Android 根文件系统启动过程(init守护进程分析)
- Lambda表达式详细总结
- vtk读取raw数据的一个例子(体绘制)
- 用Dreamweaver将数据库中的数据以柱状图的形式动态展示于网页中
- 安卓 hal 串口驱动学习。。。
- CCF青少年计算机程序设计评级标准(三)
- linux根文件系统init进程分析
- jsp页面之间传递多值
- jquery复选框全选,反选,自动勾选全选框,取消勾中全选框
- 凸包算法-GrahamScan+暴力+分治
- ACM题型分类
- SimpleAdapter适配器填充ListView
- 有些事,不是不在意
- 第十六周项目2-4:统计句子str中单词的个数
- poj_1204Word Puzzles