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

Linux 学习 00 系统启动流程

2015-07-01 16:42 525 查看
为了更好的了解Linux系统的运行原理,非常有必要了解系统启动的流程。

首先,计算机会加载BIOS,BIOS默认会从硬盘上的第0柱面,第0磁道,第一个扇区中读取被称为MBR(主引导记录)的东西。一个扇区的大小是512字节,存放的内容是一段引导程序和分区信息,其中引导程序占446字节,磁盘分区表DPT占64字节,最后2字节是MBR的结束位。由于Grub本身比较大,常见方式是在MBR中写入Grub的地址,这样系统实际会用Grub作为引导程序。

Grub的功能就是根据配置文件加载kernel镜像,并运行内核加载后的第一个程序/sbin/init,这个程序会根据/etc/inittab 进行初始化的工作。这里有个重要的概念就是runlevel,后面会详细讲。

第四步,Linux 将根据/etc/inittab 中定义的系统初始化配置 si::sysinit:/etc/rc.d/rc.sysinit 执行/etc/rc.sysinit 脚本,该脚本将会设置系统变量,网络配置,并启动swap,设定/proc,加载用户自定义模块,加载内核设置等。

第5步,根据之前读到的runlevel的值启动对应的服务,如果为3,就运行/etc/rc3.d/下的脚本,如果为5就运行/etc/rc5.d下的脚本

第6步,运行/etc/rc.local ,第7步,生成终端或X Window等待用户登录。

系统运行级别

Linux 默认有7个运行级别:

0:关机

1:单用户模式

2:多用户模式,没有网络

3:完全多用户模式,最常见的

4:保留未使用

5:窗口模式

6:重启

来看下/etc/rc3.d/下的内容:

有很多以K或S开头,后跟2位数字再跟服务名的文件。K表示Kill,S表示Start,会先运行K开头的问题,在运行S开头的文件,在运行文件时会按照K/S后面的数字大小顺序执行,数字小的先执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: