22中断技术1(编辑修改稿)内容摘要:

开暂停使用,操作系统应修改系统表格中相应设备的状态。 自愿中断事件的处理 (1) 系统程序或用户程序执行访管指令而引起的中断,它表示运行程序对操作系统功能的调用,所以,也称系统调用,可以看作是机器指令的一种扩充。 自愿中断事件的处理 (2) 系统调用机制通过特殊硬指令和中断系统来实现。 共性处理流程:  用户程序执行 n号系统调用  通过中断系统进入访管中断处理,保护现场  通过系统调用入口表,按功能号跳转找到相应功能入口地址  执行相应例行程序,结束后正常情况返回系统调用的下一条指令执行 (1) 中断的优先级 中断的屏蔽 多重中断事件的处理 中断优先级和多重中断 (2) 中断的优先级 计算机执行的每一瞬间,可能有几个中断事件同时发生,中断装置如何来响应同时发生的中断呢 ?它 按照预定顺序来响应,这个预定顺序称 中断的优先级 ,首先响应优先级高的中断事件。 中断优先级和多重中断 (3) 如何确定中断的优先级 ? 计算机系统中,各中断源的优先顺序是根据某个中断源或中断级若得不到及时响应,造成计算机出错的严重性程度来定。 中断优先级和多重中断 (4) IBM 370系统中断优先级由高到低的 顺序是: 机器校验中断 → 自愿性中断 → 程序性中断 → 外部中断 → 输入输出中断→ 重启动中断。 中断优先级只表示中断装置响应中断 的次序,并不表示处理它的先后顺序。 中断优先级和多重中断 (5) 中断的屏蔽 •主机可允许或禁止某类中断的响应,如允许或禁止所有的 I/O中断、外部中断、及某些程序性中断。 •有些中断是不能被禁止的,例如,计算机中的自愿性访管中断就不能被禁止。 中断优先级和多重中断 (6) 多重中断事件的处理 中断正在进行处理期间,这时 CPU又响应了新的中断事件,于是暂时停止正在运行的中断处理程序,转去执行新的中断处理程序,这就叫 多重中断(又称中断嵌套)。 中断优先级和多重中断 (7) 对于多个中断,可能是同一中断类型的不同中断源,也可能是不同类型的中断。 对于前者,一般由同一个中断处理程序按预定的次序分别处理之; 中断优先级和多重中断 (8) 对于多个不同类型的中断,区别不同情况作如下处理: 禁止再发生中断 运行中断处理程序时,对任何新产生的中断不予理睬,这可以通过屏蔽某些中断来实现。 中断优先级和多重中断 (9) 定义中断优先级 对必须处理且优先级更高的中断源,允许在运行中断例行程序时,可响应这些中断,系统负责保护被中断的中断处理例行程序的现场,再转向处理新中断的例行程序。 中断优先级和多重中断 (10) 响应并进行中断处理 运行中断处理例行程序时,如果出现任何程序性中断,一般情况下,表明这时中断处理程序有错误,应立即响应并进行处理。 中断优先级和多重中断 (11) 中断处理程序的 PSW中,应屏蔽哪些中断源,将由系统设计而定,需要考虑的情况有: 硬件中断优先级,应用的需要,软件处理所希望的优先级,可能丢失的中断源及其对系统的影响等。 : Windows 2020/XP中断处理 Windows 2020/XP中断处理概述 (1) 中断 主要由 I/O设备、处理器时钟或定时器、可以启用或禁用。 中断是异步事件,可能随时发生,与处理器正在执行的内容无关。 异常 是同步事件,它是某一个特定指令执行的结果。 异常的例子是内存访问错误、调试指令及被零除。 内核也将系统服务调用视作异常。 Windows 2020/XP中断处理 概述 (2) 硬件和软件都可以产生中断和异常,如总线出错异常由硬件造成,而被零除异常是由软件引起的;同样, I/O设备可产生中断,而内核自身也可以发出中断。 Windows 2020/XP中断处理 概述 (3) 陷阱 指处理意外事件的一种硬件机制,当中断或异常发生时,它能发现并俘获正在执行的线程,把它从用户态切换到核心态,并将控制权交给内核的陷阱处理程序。 Windows 2020/XP中断处理 概述 (4) Windows陷阱调度 中断服务例程 中断服务例程 中断服务例程 异常调度器 虚存管理器的 页面管理器 中断调度器 系统服务调度器 异常调度器 陷阱处理程序 异常帧 虚拟地 址异常 硬件异常 软件异常 系统服 务调用 中断 Windows 2020/XP中断类型和优先级 (1) • 中 断 请 求 级 IRQL ( Interrupt Request Level) •内核维护的 IRQL是可以移植的 •IRQL将按照优先级排列中断 , 并按照优先级顺序服务中断 , 较高优先级中断可以抢占较低优先级中断服务 Windows 2020/XP中断类型和优先级 (2) Windows中断请求级 系统关闭 高 31 掉电 30 处理器内的中断 29 时钟 28 配置文件 设备 n ……… 设备 1 Dispatch/DPC 2 APC 1 低 0 硬件中断 软件中断 正常的线程执行 Windows 2020/XP中断类型和优先级 (3) Windows中断屏蔽 高 掉电 处理器内的中断 时钟 配置文件 设备 n ……… 设备 1 在处理器 A上 被屏蔽的中断 Dispatch/DPC APC 低 IRQL=时钟 处理器 A 在处理器 B上 被屏蔽的中断 IRQL= Dispatch/DPC 处理器 B Windows 2020/XP硬件中断处理 (1) •中断产生时,陷阱处理程序保存运行程序的状态,调用中断调度程序。 •中断调度程序提高处理器的 IRQL到中断源的级别,以便在中断服务过程中屏蔽等于和低于当前中断源级别的其他中断。 •重新启用中断,以使高优先级的中断仍然能够得到服务。 Windows 2020/XP硬件中断处理 (2) •Windows使用中断分配表 IDT( Interrupt Dispatch Table)来查找处理特定中断的例程。 •中断源的 IRQL作为表的索引,表的入口指向中断处理例程。 Windows 2020/XP硬件中断处理 (3) Windows中断服务 高 掉电 处理器间的中断 时钟 设备 n … … … 设备 1 ② 中断调度程序接收 到中断源的 IRQL, 用作查询 IDT的索引 Dispatch/DPC APC 低 ① 有中断产生 … … …。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。