操作系统概念第二章.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统概念(第六版) 第二章 计算机系统结构 更新日期:2004-8-9 10:29 在研究计算机系统运行的细节之前,需要对计算机系统结构有一个总体的认识。我们将在本章中学习 这个体系结构中的几个完全不同的部分,以此来完善我们的背景知识。本章主要关注计算机体系结构,所 以,如果已经掌握了这些概念,你就可以略读或者跳过本章。最初的课题包括了系统启动、I/O 和存储器。 操作系统也必须确保计算机系统的正确运行。为确保用户程序不会干扰系统的正常运行,硬件必须要 提供合适的机制来保证操作的正确性。在本章的后面,我们将描述基本的计算机体系结构,这是设计可用 操作系统的基本知识。最后,我们对网络结构做一个概述。 2.1 计算机系统的运行 一个现代通用计算机系统由一个 CPU 和多个设备控制器组成,它们通过一条公共总线连接到一起, 而这条公共总线提供了对共享存储器的访问能力(图 2.1 )。每个设备控制器负责某种特定类型的设备(如 磁盘驱动器、音频设备和视频显示器)。CPU 和设备控制器能够同时运行,并且相互竞争总线周期。为确 保对共享存储器访问的有序性,需要提供一个存储控制器以同步对存储器的访问。 图 2.1 计算机开始运行(如开启电源或者重新启动)时需要首先运行一个初始化程序。这个初始化程序(或 者说是引导程序)往往很简单。它通常存储在计算机硬件中的只读存储器(如固件或 EEPROM )内。从 CPU 寄存器到设备控制器再到内存,引导程序初始化系统的各个方面。引导程序必须要知道如何装入操作 系统并开始运行它。因此,引导程序必须要为操作系统内核分配内存空间并将其装入内存。操作系统此时 才开始运行第一个进程(比如:“init ”),然后等待事件的发生。 事件通常由硬件或软件中断触发产生。硬件随时会通过系统总线向 CPU 发送信号的方式触发一个中 断。软件可能会运行一个特殊的操作触发一个中断,这个特殊的操作被称为系统调用 (也称之为监督程序 - 1 - 调用)。 现代操作系统是中断驱动的。如果没有进程运行、没有I/O 设备运行并且没有用户响应,操作系统将 停下来等待事件的发生。事件几乎总是通过中断或自陷发出信号产生。自陷 (也称为异常)是一种由软件 产生的中断,它由错误(如除以零或无效内存访问)或用户程序请求操作系统执行特殊的服务引起。操作 系统的中断驱动的特性定义了系统的一般架构。针对每种类型的中断,操作系统中独立的代码段定义了应 该执行什么样的操作。操作系统提供了中断服务程序,由它来负责处理中断。 当 CPU 接收到中断信号时,它会停止当前的工作并立即转向一个确定地点。这个地点通常存储了该 中断服务程序的入口地址;处理完成后,CPU 恢复被中断的计算。图2.2 表明了该操作的时序关系。 Figure 2.2 Interrupt time line for a single process doing output 中断是计算机体系结构中的重要组成部分。每种计算机都有自己的中断机制,但是有些功能是共同的。 中断必须要将控制移交给适当的中断服务程序。一个简单的方法是调用一个通用程序来检查中断信息;然 后再调用具体的中断服务处理程序。然而,中断必须要得到快速处理,预定义中断数目是可行的,这样就 可以使用一个指向中断处理程序的中断向量表。于是通过这个表间接调用中断程序,就不再需要中间程序 了。通常,中断向量表存储在内存的低字节(前 100 位,大致如此)。这些位置存储了各种设备的中断服 务进程地址。这个地址队列(或者说是中断向量)指向由中断请求给定的唯一的设备号,并向中断设备提 供中断服务程序地址。MS-DOS 和UNIX 在中断的工作方式上有所不同。 中断体系结构还必须保存被中断的指令的地址。许多老式的设计简单的将中断地址存储在一个确定地 点或由设备号索引的地点。更新近的体系结构将返回地址存储在系统堆栈中。如果中断处理程序需要改变 处理器状态(如通过修改寄存器值),它必须要显式的保存当前状态,然后在返回之前将其还原。在中断 服务结束后,存储的返回地址将被装载到程序计数器中,此时被中断的计算重新开始,就像是中断没有发 生过一样。 依据底层处理机提供的功能,有多种方式可以请求系统调用。不管用的是什么方式,它是进程请求操 作系统服务的方法。系

文档评论(0)

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

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

1亿VIP精品文档

相关文档