①固件自检fireware(CMOS/BIOS)----->POST加电自检过程.
BIOS(basic input/output system)其为固化在主板上的一段程序.主要用于硬件的连接是否
| 正确和读取硬盘信息.
|
|
② 自举程序Bootloader(GRUB)
->载入内核 这里注意: MBR(Master Boot Record)中的第一块硬盘,第0个盘面,第0个磁道,
读取配置文件 /etc/grub.conf 其实是/boot/grub/grub.conf的软连接..
第一个扇区内的512个字节.其中446字节为grub程序 64字节为磁盘分区表,2字节为
| magic number 磁盘号.
|
|
③ 载入内核
Kernel -->驱动硬件
其实系统是通过多次载入到内存中的.首先是要进行解压操作.
读取/boot/vmlinz文件,不要以为linux内核是好多文件,其实就是这一个压缩文件.
|
|
|
④启动进程init init进程的PID永远是1.
init进程是所有进程的父进程.init进程结束,系统重启.
|
|
|
⑤系统读取的第一个配置文件/etcinittab文件. inittab文件的格式为 id:runlevel:action:process
读取其默认运行级别(runlevel). id不用讲,唯一标示runlevel标示在哪些运行级别下,该条配置会被读取.
执行脚本 /etc/rc.d/rc.sysinit,/etc/rc.d/rc等等.
action是指需要进行的怎样的动作. process标示需要执行的脚本.
|
|
|
⑥根据运行级别,启动/etc/rcN.d目录下的相应服务程序. 以S开头的文件标示需要启动的程序,K开头的表示需要杀死的进程.
系统启动完毕了. 后面的数字表示开启或者关闭的优先级.数字越小,优先级越高.