计算机操作系统(第三版)_第二章_ppt教材

上传人:我** 文档编号:116913260 上传时间:2019-11-17 格式:PPT 页数:74 大小:1.02MB
返回 下载 相关 举报
计算机操作系统(第三版)_第二章_ppt教材_第1页
第1页 / 共74页
计算机操作系统(第三版)_第二章_ppt教材_第2页
第2页 / 共74页
计算机操作系统(第三版)_第二章_ppt教材_第3页
第3页 / 共74页
计算机操作系统(第三版)_第二章_ppt教材_第4页
第4页 / 共74页
计算机操作系统(第三版)_第二章_ppt教材_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《计算机操作系统(第三版)_第二章_ppt教材》由会员分享,可在线阅读,更多相关《计算机操作系统(第三版)_第二章_ppt教材(74页珍藏版)》请在金锄头文库上搜索。

1、北京大学软件与微电子学院 2009春季 操作系统高级 Operating Systems Advanced Class 第二讲 系统机制 讨论讨论操作系统设计者考虑的硬件问题 讨论操作系统设计者考虑的其他问题 中央处理器(CPU) 中断机制 系统调用 一、中央处理器(CPU) 专门设计了一系列基本机制: - 具有特权级别的处理器状态,能在不 同特权级运行的各种特权指令 - 硬件机制使得OS可以和普通程序隔离 实现保护和控制 1.CPU的构成与基本工作方式 处理器由运算器、控制器、一系列的寄存器以 及高速缓存构成 运算器实现指令中的算术和逻辑运算,是计算 机计算的核心 控制器负责控制程序运行的流

2、程,包括取指令 、维护CPU状态、CPU与内存的交互等等 处理器中的寄存器 寄存器提供了一定的存储能力 速度比主存快得多 造价高,容量一般都很小 两类寄存器: 用户可见寄存器,高级语言编译器通过算法分 配并使用之,以减少程序访问内存次数 控制和状态寄存器,用于控制处理器的操作 由OS的特权代码使用, 以控制其他程序的执行 用户可见寄存器 机器语言直接引用 包括数据寄存器、地址寄存器以及条件码寄存器 数据寄存器(data register)又称通用寄存器 主要用于各种算术逻辑指令和访存指令 地址寄存器(address register)用于存储数据 及指令的物理地址、线性地址或者有效地址,用 于

3、某种特定方式的寻址。如index register、 segment pointer、stack pointer 条件码寄存器保存CPU操作结果的各种标记位 如算术运算产生的溢出、符号等等 控制和状态寄存器 用于控制处理器的操作 大部分对于用户是不可见的 一部分可以在某种特权模式(由OS使用)下访问 常见的控制和状态寄存器: 程序计数器(PC:Program Counter),记录将要取出的指 令的地址 指令寄存器(IR:Instruction Register),包含最近取 出的指令 程序状态字(PSW:Program Status Word),记录处理器 的运行模式信息等等 2.特权指令和

4、非特权指令 特权指令:只能由操作系统使用的指令 使用多道程序设计技术的计算机指令系统必须要区 分为特权指令和非特权指令 特权指令一般引起处理器状态的切换 处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状 态(管态) 然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为 陷入 CPU如何知道当前运行的是操作系统还是一般应用 软件?有赖于处理器状态的标识 3.处理器的状态 根据运行程序对资源和机器指令的使用权限将 处理器设置为不同状态程序状态字PSW 多数系统将处理器工作状态划分为管态和目态 管态:操作系统管理程序运行的状态,较高的特权 级别,又称为特权态(特态)、核心态、系统态

5、目态:用户程序运行时的状态,较低的特权级别, 又称为普通态(普态)、用户态 具体处理器将CPU状态划分为两种、三种或四种 实例:x86系列处理器 386、486、Pentium系列都支持4个处理器特权级别 特权环:R0、R1、R2和R3 从R0到R3特权能力依次降低:R0相当于双状态系统的管 态,R3相当于目态 四个级别运行不同类别的程序: R0-运行操作系统核心代码 R1-运行关键设备驱动程序和I/O处理例程 R2-运行其他受保护共享代码,如语言系统运行环境 R3-运行各种用户程序 现有基于x86处理器的操作系统大都只用了R0和 R3两个特权级别(UNIX、Linux以及Windows系列

6、) 4.程序状态字PSW (Program Status Word ) 在PSW中专门设置一位,根据运行程序使用指令 的权限而设置CPU状态 CPU的工作状态码指明管态还是目态,用来 说明当前在CPU上执行的是操作系统还是一般用 户,从而决定其是否可以使用特权指令或拥有其 他的特殊权力 条件码反映指令执行后的结果特征 中断屏蔽码指出是否允许中断 例:微处理器M68000的程序状态字 条件位: C: 进位标志位 V: 溢出标志位 Z: 结果为零标志位N: 结果为负标志位 I0 I2:三位中断屏蔽位 S:CPU状态标志位,为1处于管态,为0处于目态 T:陷阱(Trap)中断指示位为1, 在下一条指

7、令执行后引起自陷中断 CF: 进位标志位 ZF: 结果为零标志位 SF: 符号标志位 OF: 溢出标志位 标准条件位: TF:陷阱标志位 IF:中断允许(中断屏蔽)标志位 VIF:虚拟中断标志位 VIP:虚拟中断待决标志位 IOPL:IO特权级别 例:微处理器Pentium的FLAGS和描述符 CPU状态的转换 目态管态 唯一途径 是 中断(广义) 管态目态 设置PSW(修改程序状态字) 可 实现 一条特殊的指令:访管指令 供用户调用操作系统的功能(服务) INT,TRAP,SYSCALL 二、中断技术 中断对于操作系统的重要性 就像机器中的驱动齿轮一样 可以认为操作系统 是由“中断驱动”或者

8、 “(中断)事件驱 动” 及时处理设备的中断请求 它使得OS可以捕获用户程序发出的系统功能调用 防止用户程序中破坏性的活动 等等 事件: 异步/同步事件 1.中断的概念 CPU对系统发生的某个事件作出的一种反应 CPU暂停正在执行的程序,保留现场后自动转 去执行相应事件的处理程序,处理完成后返回 断点,继续执行被打断的程序 特点: 1) 中断是随机发生的 2) 中断是可恢复的 3) 中断是自动处理的 中断的引入:为了开发CPU和通道(或设备)之间的并行 操作,当CPU启动通道(或设备)进行输入/输出后,通 道 (或设备)便可以独立工作,CPU转去处理与此次输 入/输出不相关的事情。当通道(或设

9、备)完成输入/输 出后,通过向CPU发中断告诉CPU此次输入/输出结束, 使CPU继续处理输入/输出以后的事情 中断的概念(2/3)中断与异常 异常的引入:用于表示CPU执行指令时本身出现算术溢 出、零做除数、取数时的奇偶错,访存指令越界或就 是执行了一条所谓“异常指令”(用于实现系统调用 )等情况,这时中断当前的执行流程,转到相应的错 误处理程序或异常处理程序 中断(外中断) 异常(内中断) 例外 I/O中断 时钟中断 系统调用 缺页异常 断点指令 其他程序性异常 (如算术溢出等) 中断(狭义)与异常的区别: 中断: 与正执行指令无关,可以屏蔽 异常: 与正执行指令有关,不可屏蔽 广义中断

10、中断的概念(3/3) 硬件故障 2.中断系统 中断系统是现代计算机系统的核心机制之一 硬件和软件相互配合、相互渗透而使得计算机系 统得以充分发挥能力 中断系统的两大组成部分: 硬件中断装置和软件中断处理程序 中断系统的硬件中断装置-中断系统的机制部分 负责捕获中断源发出的中断请求,以一定方式响 应中断源,然后将处理器控制权交给特定的中断 处理程序 软件中断处理程序-中断系统的策略部分 负责辨别中断类型并做出相应的操作 中断源:引起中断发生的事件 中断寄存器:记录中断 中断字:中断寄存器的内容 系统堆栈: 在内存开辟的一块区域,用于临时保存 现场 中断系统中的相关概念 3.中断类型(1/2) 输

11、入/输出(I/O)中断:由I/O控制器产生 程序性中断:某些条件下由指令执行的结果产生 (如算术溢出,除零,缺页中断, 地址越界,试图 执行一条非法指令) 时钟中断:由CPU内部的计时器产生 硬件故障中断:如掉电或内存奇偶错等 强迫性中断 正在运行的程序所不期望 的,由于某种硬件故障或外部 请求引起的 William Stallings 中断类型(2/2) 访管指令/系统调用引发的中断 执行I/O,创建进程,分配内存 信号量操作,发送/接收消息 断点调试 自愿性中断 用户在程序中有意识安排的 中断,是由于用户在编制程序时 因为要求操作系统提供服务,有 意使用“访管”指令或系统调用 ,使中断发生

12、 例:微机中的中断 1.可屏蔽中断(IO中断) 2.不可屏蔽中断(机器内部故障、掉电中断) 3.程序错误中断(溢出、除法错等中断) 4.软件中断(Trap指令或中断指令INT) 例:IBM370中的中断 1. 机器故障中断:如电源故障,机器电路检验错等 2. 输入输出中断:输入输出设备和通道数据传输状态) 3. 外部中断:时钟中断,操作员控制台中断,多机系统中 其他机器的通信要求中断,各种外设或传感器发来的实 时中断等 4. 程序中断:程序中的问题引起的中断,如错误地使用指 令或数据、溢出等问题,存储保护等 5. 访管中断:访管指令或陷阱指令(Trap指令)中的操作 数规定了要求服务的类型。每

13、当CPU执行访管指令或陷阱 指令时,即引起中断并调用操作系统相应的功能模块为 其服务 广义上讲,中断可分为四类:中断、故障、陷 阱、终止,其异同点如下: 类别原因异步/ 同步 返回行为 中断来自I/O设备的信号 异步总是返回到下一条 指令 陷阱有意的异常同步总是返回到下一条 指令 故障潜在可恢复的错误同步返回到当前指令 终止不可恢复的错误同步不会返回 中断优先级设计原则:一般来说,高速设备的中 断优先级高,慢速设备的中断优先级低。因为高 速设备的中断被处理机优先响应时,可以让处理 机尽快地向它发出下一个I/O请求,提高高速设备 的利用率 如PDP-11机上的UNIX系统把中断级别分为: 时钟中

14、断中断优先级6级 磁盘中断中断优先级5级 终端等其他外设中断中断优先级4级 4.中断优先级和中断屏蔽(1/3) 处理机优先级:指出处理机正运行程序的中断响 应级别。即当处理机处于某一优先级时,只允许 处理机去响应比该优先级高的中断,而屏蔽低于或 等于该优先级的中断 可以通过设置处理机优先级来通知硬件:屏 蔽优先级小于等于处理机优先级的中断 中断屏蔽:指禁止CPU响应中断或禁止中断出现 中断优先级和中断屏蔽(2/3) 中断屏蔽有两种方法: n 硬件实现由软件置处理机优先级,硬件按系 统设计时的约定,屏蔽那些低优先级中断 n 软件实现由软件按操作系统优先级约定,设置 屏蔽寄存器 中断优先级和中断屏

15、蔽(3/3) 5.中断响应(1/2) CPU如何响应中断, 要回答两个问题: CPU何时响应中断? 处理器控制部件中设有:中断扫描机构 如何知道提出中断请求的设备或中断源? 中断响应: 发现中断、接收中断的过程 由中断装置完成 开始取下一条指令执行指令 检查指令 处理中断 停止 取周期执行周期中断周期 不允许中断 允许 中断 中断响应(2/2) 在每条指令执行周 期的最后时刻扫描 中断寄存器,询问 是否有中断信号 若无中断信号,继 续执行下一条指令 若有中断,中断硬件将 该中断触发器内容按规 定编码送入PSW的相应 位,称为中断码,通过 交换中断向量引出中断 处理程序 中断向量:一个存放中断处

16、理程序入口地址和程 序运行所需处理机状态字的内存单元 硬件按中断号、异常类型的不同通过中断向量表 转移 有的机器中: 将内存最低位128个字保留作为中断向量表,每个中 断向量占两个字 中断向量表 中断响应示意图 简单的中断处理过程 6.中断处理(1/3) 中断处理(2/3) 简单的中断处理 - 典型的处理过程: (1)设备给处理器发一个中断信号 (2)处理器处理完当前指令后响应中断,延迟非常短(要求 处理器没有关闭中断) (3)处理器处理完当前指令后检测到中断,判断出中断来源 并向发送中断的设备发送了确认中断信号,确认信号使得该 设备将中断信号恢复到一般状态 (4)处理器开始为软件处理中断做准备: 保存中断点的程序执行上下文环境,这通常包括程 序状态 字PSW,程序计数器PC中的下一条指令位置,一些寄存器的 值,它们通

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号