windows操作系统概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、中断向量 中断向量:一片存放中断处理程序入口地址 和程序运行所需处理机状态字的内存单元。
硬件按中断号,异常(陷入)类型的不同通 过中断向量表散转。
中断/异常(陷入)处理的一般过程
•中断,异常(陷入)进入 •保存现场 •分析原因,转中断/异常(陷入)处理程序 •恢复现场
中断处理的流程图:
保护现场 分析中断原因
异常(陷入)引入:用于表示CPU执行指令 时本身出现算术溢出,零做除数,取数时的 奇偶错,访存指令越界,或就是执行了一条 所谓“陷入指令”(用于实现系统调用)等 情况,这时中断当前的执行流程,转到相应 的错误处理程序或陷入处理程序。
中断/异常(陷入):指系统发生某个异步/同 步事件后,处理机暂停正在执行的程序,转去 执行处理该事件程序的过程。
PS
硬件保存
增
PC
长
r0
方
nps(新ps)
向
r1
r6
总控程序保存
dev (ቤተ መጻሕፍቲ ባይዱrap号)
tpc (总控返回地址)
r5 r4 r3 r2 sp
处理程序保存
3.分析原因,转中断/异常(陷入)处理程序
总控程序直接根据r0(已存放好中断程序的 入口地址)内容转子.进行中断(陷入)处理, 转子时已将返回地址压栈(转子指令自 动).*
如某机上的UNIX系统把中断级别分为: 时钟中断:中断优先级=6级 磁盘中断:中断优先级=5级 终端等其它外设中断:中断优先级=4级
处理机优先级:指处理机正运行程序的中断 响应级别。在中断处理程序运行前设置。即 当处理机处理某一优先级中断时,只允许处 理机去响应比该优先级高的中断,而屏蔽低 于或等于该优先级的中断。
一个现场区栈帧的形成过程:
•硬件将PS,PC压栈,且根据中断类将中断向量表中 的新的PS,PC值送PS,PC寄存器. •中断入口第一条为转总控程序指令,该特殊转移指 令将r0压栈且将中断处理程序地址存入r0. •由总控程序将新的PS压栈(因其中有陷入号信息). •由总控将r1,r6压栈(r6中为栈指针,此时是上一栈 帧顶或用户栈顶).由总控从新PS低五位截取trap号 进入栈. •总控在转相应中断(trap)处理程序时,将返回地址 压栈. •由各中断(trap)处理程序先将r5,r4,r3,r2压栈, 返回总控时恢复r2,r3,r4,r5.*
几个基本概念
1、断点和恢复点
PC: 程序计数器.指向马上要执行的那一条 指令. 断点: 检测到中断时,处理机刚执行完的那 条指令地址. 恢复点:断点的逻辑后续指令地址.PC的值. 现场信息:指中断那一刻确保被中断程序能 继续运行的有关信息.如PC,通用寄存器,特 殊寄存器等.*
断点和恢复点图示 恢复点 断点
2、核心态与用户态
核心态(系统态,监督方式,管态):允许特权 指令执行的状态,在此状态下地址空间也较 大. 用户态(用户态,用户方式,目态):一般程序 所运行的状态. PS(PSW):处理机状态字.寄存处理机运行状 态的寄存器.
•当前处理机状态. •处理机优先级 •各种控制位(如,外中断赋能位)*
2.1.1中断/异常(陷入)分类
中断(外中断) I/O中断 时钟中断
广义中断
系统调用
异常(内中断) 陷入
缺页 断点指令 其它程序性异常
(如算术溢出等)
中断(狭义)与异常(陷入)的区别:
中断: 与正执行指令无关,可以屏蔽
异常或陷入: 与正执行指令有关,不可屏蔽
2.1.2中断的分级与屏蔽
中断寄存器:寄存中断事件的全部触发器。 中断位:每个触发器称为一个中断位,当发 生某个中断事件时相应位被置上。 中断序号:给中断的一个顺序编号. 中断响应:由硬件在执行每一条指令的最后 时刻判断是否有中断,有则无条件转入操作 系统的中断处理程序. 中断寄存器图示*
该级还有中断 ? 有条件地 进行低调 恢复现场
某机UNIX中断处理详细过程:
1.中断,异常(陷入)进入
•硬件自动将当前PC,PS存入暂存寄存器. •硬件按中断号从指定的中断向量单元中取 出新的PC,PS内容装入 PC,PS寄存器. •将原PC,PS保存到现场保护区栈*
2.保存现场 现场保存/恢复过程示例.
中断屏蔽:指禁止处理机响应中断或禁止中 断出现.
中断屏蔽有两种方法: •硬件实现(软件置处理机优先级,硬件按系 统设计时的约定屏蔽那些低优先级中断) •软件实现(由软件按中断优先级约定置屏蔽 寄存器)*
软件实现中断屏蔽图示
中断寄存器 屏蔽寄存器
1
1
1
0
响应中断*
2.2中断/异常(陷入)响应和处理
•CPU能够在每条机器指令执行周期内的最后 时刻扫描中断寄存器,“询问”是否有中断 信号。若无中断信号,CPU继续执行程序的 后续指令,否则CPU停止执行当前程序的后 续指令,无条件地转入操作系统内的中断处 理程序。这一过程称为中断响应。
•异常(陷入)是在执行指令的时候,由指 令本身的原因发生的,CPU中指令的执行逻 辑发现发生了异常(陷入)则转入操作系统 内的异常(陷入)处理程序。
1
0
1
2
1
0
中断优先级:中断的优先程度.原则上,高、 低优先级中断同时到先响应高级中断。高级 中断可以打断低级中断处理程序的运行,同 级中断同时到时,则按位序响应。
高级中断处理 中级中断处理 低级中断处理
中断优先级设计原则:一般来说,高速设备 的中断优先级高,慢速设备的中断优先级低。 因为高速设备的中断被处理机优先响应可以 让处理机尽快地向他发出下一个I/O请求, 提高高速设备的利用率。在交互式系统中也 可以考虑用户响应满意优先原则。
第三讲 中断系统
目的与要求:理解内核程序运行机制--中 断/异常(陷入)机制及中断/异常(陷入) 处理过程。
重点与难点:中断系统概念及中断/异常(陷 入)处理过程。
作业:1,5,6
第二章 操作系统结构
2.1中断/异常(陷入)
中断的引入:为了开发CPU和通道(或设备)之 间的并行操作,当CPU启动通道(或设备)进 行输入输出后,通道(或设备)可以独立工作, CPU也可以转去做与此次输入输出不相关的 其它任务。 通道(或设备) 输入输出完成后,必须告诉 CPU,让CPU继续输入输出以后的事情,通道 (或设备)通过向CPU发中断告诉CPU此次输入 输出结束。