操作系统教程——Linux实例分析 教学课件 作者 孟庆昌 第1-8章 第7章 中断、 陷入和信号机构.pptVIP

操作系统教程——Linux实例分析 教学课件 作者 孟庆昌 第1-8章 第7章 中断、 陷入和信号机构.ppt

  1. 1、本文档共59页,可阅读全部内容。
  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文档。上传文档
查看更多
第7章 中断、 陷入和信号机构 7.1 概述 7.2 UNIX系统对中断和陷入的处理 7.3 系统调用的实施举例 7.4 UNIX信号机构 习题 7.1 概 述 7.1.1 中断及其一般处理过程 所谓中断是指CPU对系统发生的某个事件作出的一种反应: CPU暂停正在执行的程序, 保留现场后自动地转去执行相应的处理程序, 处理完该事件后再返回断点继续执行被“打断”的程序。 图7-1所示为中断时CPU活动的轨迹。 1. 中断源分类 现代计算机都根据实际需要配备有不同类型的中断机构。 有的较简单, 有的则较复杂, 下面介绍几种常见的中断源分类方法。 1) 按功能划分 这种分类法类似于IBM/360、 370系统的分类法, 所有中断源分为五类: (1) 机器故障中断。 (2) 输入/输出中断。 (3) 外部中断。 (4) 程序性中断。 (5) 访管中断。 2) 按产生中断的方式划分 (1) 强迫中断。 (2) 自愿中断。 中断进行分类, 其主要分为两类: (1) 中断。 (2) 异常(Exception)。 2. 中断的一般处理过程 对中断请求的整个处理过程是由硬件和软件结合起来而形成的一套中断机构实施的。 一般分为由硬件实施的中断响应和主要由操作系统实施的中断处理两大步骤。 发生中断时, CPU暂停执行当前的程序, 而转去处理中断, 这个由硬件对中断请求作出反应的过程, 称为中断响应。 一般来说, 中断响应顺序执行下述三步动作: (1) 中止当前程序的运行; (2) 保存原程序的断点信息(主要是程序计数器PC和程序状态寄存器PS的内容); (3) 转到相应的处理程序。 通常CPU在执行完一条指令后, 立即检查有无中断请求, 如有, 则立即作出响应。 中断响应后, 就由软件(中断处理程序)进行相应处理。 中断处理过程大致分为四个阶段: 保存被中断程序的现场、 分析中断原因、 转入相应处理程序进行处理、 恢复被中断程序的现场(即中断返回)。 中断处理的一般过程如图7-2所示。 1) 保存现场 保存被中断程序的现场的目的是为了在中断处理完之后, 可以返回到原来被中断的地方, 在原有的运行环境下继续正确地执行下去。 对现场信息的保存方式是多样化的, 常用方式有两种:一种是集中式保存。另一种是分散式保存。 2) 分析中断原因 对中断处理的主要工作是根据中断源确定中断原因, 然后转入相应处理程序去执行。 为此, 应确定“中断源”或者查证中断发生, 识别中断的类型(如时钟中断或者是盘中断)和中断的设备号(如哪个磁盘引起的中断)。 系统接到中断后, 就从机器那里得到一个中断号, 它是检索 中断向量表 的位移。 中断向量 因机器而异, 但 通常包括相应中断处理程序入口地址和中断处理时处理机状态字 。 表7-1列出了示意性的中断向量表。 如果是终端发出的中断, 则核心从硬件那里得到的中断号是2。 利用它去查中断向量表, 得到终端中断处理程序ttyintr的地址。 3) 处理中断 核心调用中断处理程序对中断进行处理。 4) 恢复现场和退出中断 执行完相应中断处理程序后, 就要退出中断。 退出中断的主要工作是: (1) 选取可以立即执行的进程。 (2) 恢复工作现场。 7.1.2 中断优先级和多重中断 高级别中断打断低级别中断的处理层次可以深入多层, 从而形成多重中断嵌套处理。 此时, CPU的活动轨迹如图7-3所示。 7.1.3 中断屏蔽 ?中断屏蔽是指在提出中断请求之后, CPU不予响应的状态。 它常用来在处理某一中断时防止同级别中断的干扰或在处理一段不可分割的、 必须连续执行的程序时防止意外事件把它打断。 引入中断屏蔽和禁止的原因主要有以下三个方面: (1) 延迟或禁止对某些中断的响应。 (2) 协调中断响应与中断处理的关系。 (3) 防止同类中断的相互干扰。 7.2 UNIX系统对中断和陷入的处理 7.2

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档