码迷,mamicode.com
首页 > 其他好文 > 详细

centos操作系统启动过程

时间:2016-05-03 16:24:38      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:配置文件   程序   操作系统   硬件   

1、硬件引导启动

通电,BIOS加电自检,找到启动介质,在启动介质中找到MBR.MBR是启动介质(比如硬盘)第一个分区的第一个扇区,大小为512字节。其中前面446字节是bootloader(centos是Grub),紧接着64字节是分区表,最后2个字节是用来校验的,我们把它叫做55AA。

2、Grub引导程序

找到了MBR,就找到了grub这个引导程序。grub引导分为两个阶段stage1和stage2,stage1是直接在bootloader里面,stage2比较大是放在文件系统里面的。对于新的文件系统(如ext4)来说,stage2是不能识别到的,所以还得借助中间桥梁stage1_5来识别stage2文件系统。stage2执行后,它就会去解析配置文件grup.conf,找到内核和内核映像(initrd)的位置。

3、内核引导阶段

内核和内核映像(initrd)找到后,接管了控制权,内核只包含最基本的硬件驱动,其它的硬件驱动都在initrd中。所以initrd先释放到内存中,临时构成一个只读的文件系统,在这个只读的文件系统中,内核去执行临时文件系统里面的init进程,加载各种硬件的驱动,完成后内核再次挂载真正的根文件系统,内核把控制器教给了/sbin/init进程。

4、系统初始化阶段

/sbin/init进程是 系统其他所有进程的父进程,接管了系统的控制权后,首先会去读取/etc/inittab文件来执行相应的脚本进行系统初始化,如设置键盘、字体、装载模块、设置网络等。主要包括

1)执行系统初始化脚本(/etc/rc.d/rc.sysinit),对系统进行基本的配置,以读写方式挂载根文件系统及其它文件系统,并进行运行级别的确定及相应服务的启动。

2)执行/etc/rc.d/rc脚本,该脚本定义了服务启动的顺序是先K后S,而具体的每个运行级别的服务状态是放在/etc/rc.d/rc*.d(*=0-6)目录下,所有文件均是指向/etc/init.d下相应文件的符号链接。

3)执行用户自定义引导程序/etc/rc.d/rc.local

4)完成了系统所有的启动任务后,Linux会启动终端或X-Window来等待用户登录。


本文出自 “Linux技术交流” 博客,请务必保留此出处http://9678130.blog.51cto.com/9668130/1769698

centos操作系统启动过程

标签:配置文件   程序   操作系统   硬件   

原文地址:http://9678130.blog.51cto.com/9668130/1769698

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!