求学资讯 Linux认证 提问
Linux认证 > 红旗认证

红帽认证:Linux操作系统的引导过程

来源:用户上传 上传用户: 发布时间:2017-05-11

导读:
求学资讯网第一时间为您带来“红帽认证:Linux操作系统的引导过程”等新鲜资讯。

 

红帽认证:Linux操作系统的引导过程


求学资讯网——你想要是考试资讯都在这里!2017Linux认证考试动态考试报名技巧心得成绩查询证书领取......更多资讯猛戳了解哟!

 

  1.简介
  Linux启动过程指的是从加电到看到shell提示的这一段时间。
  Linux启动的过程可以大概分为几个个阶段,具体划分为几个阶段则依靠具体的系统实现。一般来说,基于X86架构的系统可以分为3个阶段;一些嵌入式的系统有的分为两个阶段,有的分为3个阶段。
  很多介绍linux系统启动的文章对细节部分都描述的不清楚,那就让我来详细的说一下吧,如果由错误,请多包含了:)
  2. 启动过程之上电与加载引导程序
  无论是哪种系统,linux启动的第一阶段总是CPU上电初始化的阶段。
  CPU在上电之后首先是自检的过程,当这个过程完成之后,CPU就会跳转到一个固定的地址,从这个地址开始执行代码。这个固定的地址根据CPU的不同而不同,比如PC中的这个地址是0XFFFF0。而这个固定的地址通常是一些只读的或者可读写的闪存,CPU通过总线和这些闪存连接,并能够通过寻址机制找到这些闪存的地址。
  在普通PC中,BIOS系统是一个‘加载第一个引导程序’的系统,PC的CPU上电后执行的第一行代码总是BIOS中的闪存所保存的代码,这段代码可以看作是一个启动环境,它完成的工作有两部分:基本硬件加电检测与本地设备的枚举与初始化。当完成加电检测后,这段BIOS代码,用来做MBR的有效性检测。
  ‘第一阶段引导程序’的作用是查找并加载‘第二阶段引导程序’。它通过在分区表中查找一个活动分区来实现此功能。在MBR的第二部分所标识的四个分区中,只有一个是活动分区,通常这个活动分区记录包含了真正分区的信息,Bootloader通过这个信息找到真正的分区,然后从这个分区将‘第二阶段引导程序’加载进RAM中。
  4.第二阶段引导程序
  第二阶段引导程序可以认为是引导过程的最后一步了,它的核心任务就是加载Linux内核与可选的初始化RAM盘。
  在PC环境中,现在通常使用grub来实现引导程序。Grub相对应lilo来说一个最大的优点就是grub可以识别硬盘分区。其实在第一阶段引导程序加载第二阶段引导程序之前,第一阶段引导程序会先引导一个第1。5阶段引导程序进入RAM执行,这段代码可以理解为包含linux系统映象的特殊文件系统,当此引导程序运行后,就会加载第二阶段引导程序了。第二阶段引导程序主要是grub的工作,就是使用我们事先配置好的grub来加载相应的内核映象与初始化RAM盘到内存中。
  当内核影响与初始化RAM盘加载成功后,第二阶段引导程序的任务也就胜利完成了,剩下的活都交给内核映象吧。
  5.内核启动过程
  当第二阶段引导程序完成任务,内核映象取得CPU控制权后,内核的旅程就开始了,终于等到这一天了!
  可惜,此时的内核映象并不是一个可执行的程序,而是一个压缩过的程序,使用zlib压缩而成。其实此内核映象包括两个部分,最前端的部分是一小段的可执行代码,后面才是真正的内核映象。前端部分的主要工作是初始化少量的硬件设置,然后解压缩内核映象并将解压缩后的内核放入高端内存中。此时如果发现由初始化RAM盘,则将其移入内存中,暂时不用。然后,解压缩后的内核取得了CPU的控制权,内核开始行动了!
  内核启动后,首先对页表进行初始化,并启动内存分页功能,然后检测CPU类型,然后调用start_kernel()函数,进入与体系无关的初始化部分,包括内存配置,加载初始化RAM盘,最后启动init函数,至此内核启动阶段就结束了。

想了解更多“”等动态资讯,请广大考生收藏我们求学资讯网求学资讯网求学资讯时时更新!


声明:本站为免费网络服务提供商,网站所有信息均为用户自行发布并由用户承担相应法律责任,本站不对其真实性及合法性负责,如涉及侵权或者信息违法,请你及时与本站联系删除。

阅读 1403 举报

相关推荐
评论0

当前没有评论内容

发表评论 0条评论
59
微博
QQ
QQ空间
微信
取消