- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系统机制 操作系统高级 技术方案.ppt
中断向量:一个存放中断处理程序入口地址和程序运行所需处理机状态字的内存单元 硬件按中断号、异常类型的不同通过中断向量表转移 有的机器中: 将内存最低位128个字保留作为中断向量表,每个中断向量占两个字 中断向量表 中断响应示意图 简单的中断处理过程 6.中断处理(1/3) 中断处理(2/3) 简单的中断处理 - 典型的处理过程: (1)设备给处理器发一个中断信号 (2)处理器处理完当前指令后响应中断,延迟非常短(要求处理器没有关闭中断) (3)处理器处理完当前指令后检测到中断,判断出中断来源并向发送中断的设备发送了确认中断信号,确认信号使得该设备将中断信号恢复到一般状态 (4)处理器开始为软件处理中断做准备: 保存中断点的程序执行上下文环境,这通常包括程 序状态字PSW,程序计数器PC中的下一条指令位置,一些寄存器的值,它们通常保存在系统控制栈中 处理器状态被切换到管态 (5)处理器根据中断源查询中断向量表,获得与该中断相联系的处理程序入口地址,并将PC置成该地址,处理器开始一个新的指令周期,控制转移到中断处理程序 (6)中断处理程序开始工作,包括检查I/O相关的状态信息,操纵I/O设备或者在设备和主存之间传送数据等等 (7)中断处理结束时,处理器检测到中断返回指令,被中断程序的上下文环境从系统堆栈中恢复 处理器状态恢复成原来的状态 (8)PSW和PC恢复成中断前的值,处理器开始一个新的指令周期,中断处理结束 中断处理(3/3) 7.典型的中断处理(1):I/O中断 由I/O设备的控制器或者通道发出 两类I/O中断: I/O操作正常结束 如果要继续I/O操作,需要在准备好以后重新启动I/O,若请求I/O程序正处于等待I/O状态,则应将其唤醒 I/O异常 需要重新执行失败的I/O操作 重试次数有上限,次数过大,系统将判定硬件故障 系统多道能力的重要推动力量,时钟中断处理程序通常做与系统运转、管理和维护相关的工作,包括: 维护软件时钟:系统有若干个软件时钟,控制定时任务以及进程的处理器时间配额,时钟中断需要维护、定时更新这些软件时钟 处理器时间调度:维护当前进程时间片软件时钟,并在当前进程时间片到时以后运行调度程序选择下一个被调度的进程 控制系统定时任务:通过软件时钟和调度程序定时激活一些系统任务,如监测死锁、系统记帐、系统审计等 实时处理 典型的中断处理(2):时钟中断 典型的中断处理(3):硬件故障中断 硬件故障中断处理程序一般需要做的工作: 保存现场,使用一定警告手段,提供些辅助诊断信息 在高可靠系统中,中断处理程序还要评估系统可用性,尽可能恢复系统 如Windows 2000/XP,关键硬件发生故障时,如显示卡损坏,出现系统蓝屏,系统实际上进入相应故障处理程序,发现故障不可恢复,则在屏幕上打印出发生故障时程序位置,并开始进行内存转储(将一定范围的内存内容写上磁盘,是系统故障时的全系统“快照”),备日后故障诊断 程序指令出错、指令越权或者指令寻址越界而引发 两类处理方法: 只能由操作系统的相关扩展功能模块完成 多为程序试图作不能做的操作引起的系统保护 如访问合法的、但不在内存虚地址内,引发页故障页故障一般会引发OS虚存模块作一个页面换入 可由程序自己完成,如一些算术运算错误 不同程序可有不同处理方法,所以很多OS提供由用户自己处理这类中断的“绿色通道” 系统调试中断(断点中断、单步跟踪)也可被用户程序处理,用以支持各种程序调试 典型的中断处理(4):程序性中断 典型的中断处理(5):系统服务请求 系统服务请求由处理器专用指令(访管指令)激发 如x86处理器提供int指令,用来激发软件中断 其他不少处理器则提供系统调用指令syscall 现代操作系统一般不提供直接使用系统调用指令的接口,通常做法:提供一套方便、实用的应用程序函数库(应用程序设计接口API) 从应用层面重新封装系统调用 屏蔽复杂的系统调用传参问题 高级语言接口,有助于快速开发 有的系统在更高层面提供系统程序设计模板库和类库 IA32体系结构对中断的支持 基本概念 中断 由硬件信号引发的,分为可屏蔽和不可屏蔽中断 异常 由指令执行引发的,比如除零异常 80x86处理器发布了大约20种不同的异常 对于某些异常,CPU会在执行异常处理程序之前产生硬件出错码,并压入内核态堆栈 系统调用 异常的一种,用户态到系统态的唯一入口 IA32体系结构对中断的支持(1/6) 中断控制器 负责将硬件的中断信号转换为中断向量,并引发CPU中断 中断向量 MS-DOS:存放中断服务程序的入口地址 入口地址=段地址+偏移 与一般的过程调用相同 不支持CPU运行状态切换 Linux:采用门(gate)数据结构描述中断
文档评论(0)