快速业务通道

Linux启动过程分析

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-30
linux系统开就流程

cpu加电自检:power on system test(POST)
按照BIOS中的boot sequence读取磁盘MBR
BIOS中的信息存储在主板的CMOS存储芯片中,系统加电后会读取其中各项数据,包括系统启动后加载硬盘的顺序.
加载硬盘MBR中的boot loader
磁盘的每个扇区为512字节,每个磁盘的第一个扇区为磁盘的MBR,MBR中前446字节记录的是bootloader,bootloader中安装的是grub的stage1,用于指向grub主程序咋磁盘中的位置.开机加电之后,BIOS按照boot sequence找到对应磁盘,然后搜索该磁盘的MBR.
找到位于基本磁盘分区的grub程序,即进入stage2阶段,按照grub.conf配置文件对kernel以及initrd进行引导加载.

initrd解压后在内存中启动引导根目录所在的磁盘进行只读挂载
内核在grub的引导下解压载入内存,内核随即进行硬件探测、驱动程序初始化,然后引导initrd解压载入,initrd其实就是一个小型的linux系统它的作用是将在lvm或raid上根文件系统进行只读性挂载.

运行/sbin/init对系统进行初始化
根文件系统挂载之后,运行/sbin/init程序进行初始化.初始化过程按照其对应配置文件/etc/inittab进行.
/etc/inittab中的配置信息:
格式:
id:runlevel:action:process
id:标示符
runlevel:运行级别
action:对应运行级别所进行的操作
process:执行的命令
action的分类详解:
respawn:表示init程序对此process进行监控,即使此进程被终止也立即被启动;
wait:表示init进程只调用一次此process,并等待其结束后再进行下一步操作;
initdefault:表示系统运行后默认进入的运行级别;进入某个级别会默认开始执行对应级别的各种进程,故此处不定义process,如果此条记录不存在,在系统启动时会提示用户键入运行级别;
sysinit:系统启动时准备运行的命令,此命令直接指向系统启动后运行的第一个初始化脚本/etc/rc.d/rc.sysinint;
powerfail:表示当电源被切断后(有ups时)运行后面的process;
powerokwait:当电源监测发现电源恢复则执行后面的process;
ctrlaltdel:控制这三个组合键的功能;

rc.sysinit脚本实现功能介绍:
在init确定默认级别后即运行此初始化脚本,它的作用主要有以下几条:

n 激活udev和selinux;

n 通过读取/etc/sysctl.conf设置内核参数

n 设置系统时间

n 加载键盘映射

n 启用swap分区

n 设置主机名

n 检查根文件系统,并以读写方式重新挂载根文件系统

n 激活LVM和RAID设备

n 启动磁盘限额

n 挂载其他文件系统

n 清理过期文件锁和PID文件

/etc/rc.d/rc.sysinit这个脚本运行完毕,继续按照/etc/inittab中继续开启对应运行级别中的服务,这些服务有inittab中:
l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

来定义,对应的rc0~6目录中是各需要开启服务的链接文件,S开头表示开启,K开头表示关闭.
所有服务开启之后,将执行respawn控制的进程:开启控制台.
开启对应运行级别的控制台,并始终监控控制台进程,一旦关闭将立即被开启.





本文出自 “ 远 飏 ” 博客,请务必保留此出处http://evolution.blog.51cto.com/3343305/636156

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号