- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
22009系统机制整理
北京大学软件与微电子学院2009春季 第二讲 系统机制 讨论讨论操作系统设计者考虑的硬件问题 讨论操作系统设计者考虑的其他问题 中央处理器(CPU) 中断机制 系统调用 一、中央处理器(CPU) 专门设计了一系列基本机制: - 具有特权级别的处理器状态,能在不同特权级运行的各种特权指令 - 硬件机制使得OS可以和普通程序隔离 实现保护和控制 1.CPU的构成与基本工作方式 处理器由运算器、控制器、一系列的寄存器以及高速缓存构成 运算器实现指令中的算术和逻辑运算,是计算机计算的核心 控制器负责控制程序运行的流程,包括取指令、维护CPU状态、CPU与内存的交互等等 处理器中的寄存器 寄存器提供了一定的存储能力 速度比主存快得多 造价高,容量一般都很小 两类寄存器: 用户可见寄存器,高级语言编译器通过算法分配并使用之,以减少程序访问内存次数 控制和状态寄存器,用于控制处理器的操作 由OS的特权代码使用, 以控制其他程序的执行 用户可见寄存器 机器语言直接引用 包括数据寄存器、地址寄存器以及条件码寄存器 数据寄存器(data register)又称通用寄存器 主要用于各种算术逻辑指令和访存指令 地址寄存器(address register)用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。如index register、segment pointer、stack pointer 条件码寄存器保存CPU操作结果的各种标记位 如算术运算产生的溢出、符号等等 控制和状态寄存器 用于控制处理器的操作 大部分对于用户是不可见的 一部分可以在某种特权模式(由OS使用)下访问 常见的控制和状态寄存器: 程序计数器(PC:Program Counter),记录将要取出的指令的地址 指令寄存器(IR:Instruction Register),包含最近取出的指令 程序状态字(PSW:Program Status Word),记录处理器的运行模式信息等等 2.特权指令和非特权指令 特权指令:只能由操作系统使用的指令 使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令 特权指令一般引起处理器状态的切换 处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态) 然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入 ? CPU如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识 3.处理器的状态 根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态——程序状态字PSW 多数系统将处理器工作状态划分为管态和目态 管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、核心态、系统态 目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态 具体处理器将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系列) 4.程序状态字PSW (Program Status Word ) 在PSW中专门设置一位,根据运行程序使用指令的权限而设置CPU状态 CPU的工作状态码——指明管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其他的特殊权力 条件码——反映指令执行后的结果特征 中断屏蔽码——指出是否允许中断 例:微处理器M68000的程序状态字 CPU状态的转换 目态→管态 唯一途径 是 中断(广义) 管态→目态 设置PSW(修改程序状态字) 可实现 二、中断技术 中断对于操作系统的重要性 就像机器中的驱动齿轮一样 →→可以认为操作系统 是由“中断驱动”或者 “(中断)事件驱动” 及时处理设备的中断请求 它使得OS可以捕获用户程序发出的系统功能调用 防止用户程序中破坏性的活动 等等 2.中断系统 中断系统是现代计算机系统的核心机制之一 硬件和软件相互配合、相互渗透而使得计算机系统得以充分发挥能力 中断系统的两大组成部分: 硬件中断装置和软件中断处理程序 中断系统的硬件中断装置-中断系统的机制部分
文档评论(0)