剖析Linux系统启动的后台全过程

热度35票  浏览35次 【共0条评论】【我要评论 时间:2009年8月12日 00:27
私募社区 - 私募股权投资知识学习网 - www.simu001.cnM3p`)S0GQB:{&A

  本文以RedHat9.0和i386平台为例,剖析了从用户打开电源直到屏幕出现命令行提示符的整个Linux启动过程。并且介绍了启动中涉及到的各种文件。私募社区 - 私募股权投资知识学习网 - www.simu001.cnM'v&b u `1b'K

6EV-H)s xi.qn ~0  阅读Linux源代码,无疑是深入学习Linux 的最好方法。在本文对Linux启动过程的介绍中,我们也尝试从源代码的视角来更深入的剖析Linux的启动过程,所以其中也简单涉及到部分相关的Linux源代码,Linux启动这部分的源码主要使用的是C语言,也涉及到了少量的汇编。私募社区 - 私募股权投资知识学习网 - www.simu001.cndB8xq[{ c

6K k_$xH0nqO2j0  而启动过程中也执行了大量的shell(主要是bash shell)所写脚本。为了方便读者阅读,笔者将整个Linux启动过程分成以下几个部分逐一介绍,大家可以参考下图:

7b1J;I\CS;i e0 私募社区 - 私募股权投资知识学习网 - www.simu001.cnW2m/bM#[Q)RBeL

  当用户打开PC的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装的引导程序lilo或grub开始引导 Linux,Linux首先进行内核的引导,接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc 当完成系统初始化和运行服务的任务后,返回init;init启动了mingetty后,打开了终端供用户登录系统,用户登录成功后进入了Shell,这样就完成了从开机到登录的整个启动过程。私募社区 - 私募股权投资知识学习网 - www.simu001.cn NEt`,GLM

私募社区 - 私募股权投资知识学习网 - www.simu001.cnh%\8?0N&f}0b

  下面就将逐一介绍其中几个关键的部分:

6vk ~/p%KIO p0 私募社区 - 私募股权投资知识学习网 - www.simu001.cnt6oRq+Kqr+M t

  第一部分:内核的引导(核内引导)

2u;` f0L{ _gF0 私募社区 - 私募股权投资知识学习网 - www.simu001.cnn d;bE7K!V Uw

  Red Hat9.0可以使用lilo或grub等引导程序开始引导Linux系统,当引导程序成功完成引导任务后,Linux从它们手中接管了CPU的控制权,然后CPU就开始执行Linux的核心映象代码,开始了Linux启动过程。这里使用了几个汇编程序来引导Linux,这一步泛及到Linux源代码树中的“arch/i386/boot”下的这几个文件:bootsect.S、setup.S、video.S等。

#b1}iPbg`7ax0
顶:2 踩:2
对本文中的事件或人物打分:
当前平均分:-0.7 (10次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.45 (11次打分)
【已经有10人表态】
1票
感动
1票
路过
1票
高兴
2票
难过
1票
搞笑
1票
愤怒
1票
无聊
2票
同情
上一篇 下一篇
发表评论
换一张

网友评论仅供网友表达个人看法,并不表明本网同意其观点或证实其描述。

查看全部回复【已有0位网友发表了看法】

网络资源