Centos学习笔记—系统引导

 

2012-2-13
linux 引导流程

1.固件firmware(cmos,bios)-》post加点自检
2.自举程序Bootloader(grub)-》载入内核
3.载入内核                  -》驱动硬件
4.启动进程init              -》系统启动的第一个进程
5.读取执行配置文件 /etc/inittab

 


master boot record->MBR主引导扇区 位置:0驻面0磁头1扇区
插入图片:

bootloader中存放的是自举程序:
windows中为:--》ntldr 以及 boot.ini文件中的内容
linux中为:  --》/etc/grub.conf

 

 


init的工作:

init启动后读取inittab文件,执行缺省运行级别而继续从而引导过程。在unix系统中
,init时第一个可以存在的进程,它的PID恒为1,但他也同时必须向一个更高级的功能负责
:PID为0的内核调度器(kernel scheduler),从而获得cpu时间
 

 

 


inittab 文件剖析


在inittab中,所有的条目采取以下格式:
id:run-level:action:process
id:标示符,一般为两位数字或者字母或者数字
run—level:指定运行级别可以指定多个
action:指定运行状态
process:指定要运行的脚本/命令

 

action常用取值:

initdefault:指定系统缺省启动的运行级别
sysinit:系统启动执行process中的运行级别
wait:执行process中指定的命令,并等起结束再运行其他命令
once:执行process中指定的命令,不等待其结果
ctrlaltdel:按下Ctrl+alt+del时执行process指定的命令
powerfail:当出现电源错误时执行process指定的命令,不等待其结束
powerokwait:当电源恢复是执行process指定的命令
respawn:一旦process指定的命令中止,便重新运行该命名

 


任何的系统级别都会起动系统的启动脚本:
/etc/rc.d/rc.sysinit        


ls /etc/rc.d/rc3.d 可以看到系统启动对应级别下需要执行的脚本操作
/etc/rc.d/rc[0123456].d
分别存放对应于运行级别的服务程序脚本的符号链接,链接到init.d目录中相应的脚本

 

比如:s12syslog

s—start
k—kill
数字
脚本名称

 

启动流程:插入图片:

 

 

posted @ 2012-02-14 01:19  wangyaning  阅读(117)  评论(0编辑  收藏  举报