您的位置:首页 > 运维架构 > Linux

我所理解的Linux启动过程

2016-04-07 17:03 441 查看
计算机的启动很矛盾:先运行程序,计算机才能够启动;而计算机不启动是无法运行程序的。

指令寄存器决定CPU下一步要执行的指令

当电源通电一瞬间,寄存器重置为预设值,而这个预设值是指向BIOS

1.BIOS

固化在ROM芯片上的一段程序 计算机一通电就会执行BIOS

在BIOS阶段,主要包括两个步骤:自检和启动顺序

告诉计算机从哪块设备去找操作系统

三个字:找设备

2.主引导记录

计算机找到了硬盘后就会去读取硬盘的第一个扇区

硬盘的第一个扇区既最前面的512字节,称为主引导记录

三部分:机器码、分区表、记录签名

需要注意的是 记录签名为主引导记录的最后两个字节 只有这两个自己为0x55 0xAA时 才能用于启动 否则 将控制权交给第二启动顺序的设备

告诉计算机从硬盘的什么地方去找操作系统

三个字:找分区

3.硬盘启动

找到激活的分区 加载操作系统

4.加载操作系统内核

将/boot目录下的内核文件加载到内存

5.第一个进程

/sbin/init pid=1

其它所有进程都是他的衍生 都是它的子进程

6.rcN.d

N表示运行级别 N=0~6

0关机 1单用户 6重启 2-5正常

里面的文件大部分为软链接 实际文件为/etc/init.d下的文件

7.加载自启动的文件

既根据默认的运行级别 将rcN.d里面的脚本依次启动或关闭

8.登录

至此计算机应该就算启动完成了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: