第二十四讲 Linux启动系统课件.pptVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二十四讲 Linux启动系统课件

Linux操作系统;第二十四讲 Linux启动系统;前言;每一个操作系统都要有自己的初始化程序,Linux也不例外。那么,怎样初始化?我们首先看一下初始化的流程。 图5.1中的加电或复位这一项代表操作者按下电源开关或复位按钮那一瞬间计算机完成的工作。BIOS的启动是紧跟其后的基于硬件的操作,它的主要作用就是完成硬件的初始化,稍后还要对BIOS进行详细的描述。 BIOS启动完成后,Boot Loader将读操作系统代码,然后由操作系统来完成初始化剩下的所有工作。 ;5.1.1系统加电或复位 ;BIOS的全名是基本输入输出系统(Basic Input Output System)。它的主要任务是提供CPU所需的启动指令。刚才提到,计算机进入复位状态后,内存被自动清零,CPU此时是无法获得指令的。计算机的设计者们当然考虑到了这一点,因此,他们预先编好了供系统启动使用的启动程序,将其存放在ROM中,并安排到一个固定的位置,即FFFF:0000,CPU就从BIOS中获得了启动所需的指令集。该指令集除了完成硬件的启动过程以外,还要将软盘或硬盘上的有关启动的系统软件调入内存。 BIOS中启动程序的主要任务如下:首先是上电自检(POST Power-On Self Test);然后对系统内的硬件设备进行监测和连接,并把测试所得的数据存放到BIOS数据区,以便操作系统在启动时或启动后使用;最后,BIOS将从软盘或硬盘上读入Boot Loader,到底是从软盘还是从硬盘启动要看BIOS的设置,如果是从硬盘启动,BIOS将读入该盘的零柱面零磁道上的1扇区(MBR),这个扇区上就存放着Boot Loader,该扇区的最后一个字存放着系统标志,如果该标志的值为0AA55,BIOS在完成硬件监测后会把控制权交给Boot Loader。 ;除了启动程序以外,BIOS还提供一组中断以便于对硬件设备的访问。我们知道,当键盘上的某—键被按下时,CPU就会产生—个中断并把这个键的信息读入,在操作系统没有被装入以前(如Linux的Bootsect.S还没有被读入)或操作系统没有专门提供另外的中断响应程序的情况下,中断的响应程序就是由BIOS提供的。 介绍具体的BIOS系统,它的上电自检(POST)程序包含14个项目,具体内容如下表所示,执行过POST后,该系统将调入硬盘上的Boot Loader。 ;Boot Loader通常是一段汇编代码,存放在MBR中, 它的主要作用就是将系统启动代码读入内存, 有关这方面的内容相当复杂, 其详细情况,比如说怎样把系统读入,有兴趣的同学可以自己查找相关资料。 ;这部分实际上是初始化的关键。 Boot Loader将控制权交给操作系统的初始化代码后,操作系统所要完成的存储管理、设备管理、文件管理、进程管理等任务的初始化必须马上进行,以便进入用户态。 其实不管是单任务的DOS操作系统还是多任务Linux操作系统,当启动过程完成后,系统都进入用户态,等待用户的操作命令。 而Linux要到达这个状态是一件相当复杂的工作,本章主要介绍这一过程。 ;每个操作系统都是基于计算机的硬件设备的,其设计、实现以及特性,都要依赖于一定的硬件。所有的硬件中,中央处理器(CPU)对它的影响最大。 Linux是一个可以运行于多个不同平台的操作系统,但这并不意味着它可以脱离不同种类计算机的硬件特性。事实上,Linux是靠在不同机器上运行不同的代码来实现跨平台特性的。Linux巧妙地把与设备相关的代码按照设备型号分类安排,以便在编译时把对应的部分编入内核。 如果你看过了在/usr/src/linux-2.4/arch目录下组织的源文件,就会发现,所有Intel386相关的代码在一个子目录下,而与Spark相关的代码在另一个子目录下。代码在编译时会得到关于平台的信息,根据这个信息,编译器决定到底包含哪一段代码。 ;具有代表性的Intel 80386处理器支持多任务并发执行,它的结构和机能完全是为此设计的。操作系统根据80386提供的机制,对计算机的资源(主存储器空间、执行时间及外围设备)进行分配和保护。80386的存储管理及保护机制,保护(系统中的)每一个任务不被其他任务破坏。通过使用保护机制,保证系统中任何一个用户任务都不能访问分配给操作系统的存储区域。 注意,80386提供保护机制,也提供段页式的两层内存管理,但在初始化之前,操作系统却运行于一个既不支持保护机制,也不支持页机制的实模式下。在这个模式下,在要求实现多任务并发处理的操作系统的初始化程序中,必须加入使80386进入保护模式的代码。这就是处理器影响启动任务的一个例子。 ;除了处理器以外,许多硬件设备也对初始化产生影响,刚才介绍的BIOS就在很大程度上影响初始化的步骤。另外,每加入一种新

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档