操作系统的硬件环境分析_第1页
操作系统的硬件环境分析_第2页
操作系统的硬件环境分析_第3页
操作系统的硬件环境分析_第4页
操作系统的硬件环境分析_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第二二章章 操作系统的硬件环境操作系统的硬件环境n2.1 2.1 中央处理器(中央处理器(CPUCPU)n2.2 2.2 存储系统存储系统n2.3 2.3 中断机制中断机制n2.4 2.4 时钟时钟 12/13/202112.2 中央处理器(中央处理器(CPU)计算机中最重要的部件12/13/20212CPU的构成与基本工作方式的构成与基本工作方式n处理器由运算器、控制器、一系列的寄存器以及高速缓存构成n运算器实现指令中的算术和逻辑运算,是计算机计算的核心n控制器负责控制程序运行的流程,包括取指令、维护CPU状态、CPU与内存的交互等等12/13/20213n寄存器是指令在CPU内部作处理的

2、过程中暂存数据、地址以及指令信息的存储设备 在计算机的存储系统中它具有最快的访问速度n高速缓存处于CPU和物理内存之间 一般由控制器中的内存管理单元(MMU:Memory Management Unit)管理 访问速度快于内存,低于寄存器 利用程序局部性原理使得高速指令处理和低速内存访问得以匹配,从而提高CPU的效率12/13/20214处理器中的寄存器处理器中的寄存器n寄存器提供了一定的存储能力n速度比主存快得多n造价高,容量一般都很小两类寄存器:n用户可见寄存器,高级语言编译器通过算法分配并使用之,以减少程序访问主存次数n控制和状态寄存器,用于控制处理器的操作 由OS的特权代码使用, 以控

3、制其它程序的执行12/13/20215用户可见寄存器用户可见寄存器n机器语言(汇编语言)直接引用n包括数据寄存器、地址寄存器等n数据寄存器(data register)又称通用寄存器n地址寄存器(address register)用于存储数据及指令的物理地址。如index register、segment pointer、stack pointer12/13/20216控制和状态寄存器控制和状态寄存器n用于控制处理器的操作n大部分对于用户是不可见的n一部分可以在某种特权模式(由OS使用)下访问12/13/20217常见的控制和状态寄存器常见的控制和状态寄存器n程序计数器(PC:Program

4、Counter),记录将要取出的指令的地址n指令寄存器(IR:Instruction Register),包含最近取出的指令n程序状态字(PSW:Program Status Word),记录处理器的运行模式信息等等12/13/20218指令执行的基本过程指令执行的基本过程(1)两个步骤:n先从存储器中每次读取一条指令n然后执行这条指令一个单条指令处理过程称为一个指令周期程序的执行是由不断取指和执行的指令周期组成12/13/20219n每个指令周期开始时,依据在程序计数器中的指令地址从存储器中取一条指令n在取指完成后根据指令类别自动将程序计数器的值变成下条指令的地址n取到的指令放在指令寄存器(

5、IR)中n处理器解释并执行所要求的动作指令执行的基本过程指令执行的基本过程(2)12/13/2021105类指令类指令n访问存储器指令:访问存储器指令: 处理器和存储器间数据传送nI/OI/O指令:指令: 处理器和I/O设备间数据传送和命令发送n算术逻辑指令(数据处理指令):算术逻辑指令(数据处理指令): 执行数据算术和逻辑操作n控制转移指令:控制转移指令: 指定一个新的指令的执行起点n处理器控制指令:处理器控制指令: 修改处理器状态,改变处理器工作方式12/13/202111特权指令和非特权指令特权指令和非特权指令特权指令:只能由操作系统使用的指令n使用多道程序设计技术的计算机指令系统必须要

6、区分为特权指令和非特权指令 CPU如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态12/13/202112处理器的状态处理器的状态多数系统将处理器工作状态划分为管态和目态:管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、系统态 、核心态目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态有些系统将处理器状态划分核心状态,管理状态和用户程序状态(目标状态)三种12/13/202113实例:实例:x86系列处理器系列处理器n386、486、Pentium系列都支持4个处理器特权级别(特权环:R0、R1、R2和R3)n从R0到R3特权能力依次

7、降低nR0相当于双状态系统的管态nR3相当于目态nR1和R2则介于两者之间,它们能够运行的指令集合具有包含关系:3210RRRRIIII12/13/202114四个级别运行不同类别的程序:nR0-运行操作系统核心代码nR1-运行关键设备驱动程序和I/O处理例程nR2-运行其它受保护共享代码,如语言系统运行环境nR3-运行各种用户程序现有基于x86处理器的操作系统,如UNIX、Linux以及Windows系列大都只用了R0和R3两个特权级别12/13/202115图图:Intel 系列系列CPU的特权级别的特权级别12/13/202116管态和目态的差别管态和目态的差别处理器处于管态时:n全部指

8、令(包括特权指令)可以执行n可使用所有资源n并具有改变处理器状态的能力处理器处于目态时:n只有非特权指令能执行12/13/202117程序状态字程序状态字PSWPSW (Program Status Word ):nCPU的状态指明管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户程序,从而决定其是否可以使用特权指令或拥有其它的特殊权力n条件码反映指令执行后的结果特征n中断屏蔽码指出是否允许中断12/13/202118例例1:微处理器微处理器M68000的程序状态字的程序状态字1514131211109876543210TSI2I1I0XNZVC条件位:条件位:C: 进位标志位进

9、位标志位 V: 溢出标志位溢出标志位Z: 结果为零标志位结果为零标志位N: 结果为负标志位结果为负标志位I0 I2:三位中断屏蔽位三位中断屏蔽位S:CPU状态标志位,为状态标志位,为1处于管态,为处于管态,为0处于目态处于目态T:陷阱陷阱(Trap)中断指示位为中断指示位为1, 在下一条指令执行后引起自陷中断在下一条指令执行后引起自陷中断12/13/202119CPU状态的转换状态的转换目态-管态 其转换的唯一途径是通过中断管态-目态 可用设置PSW(修改程序状态字)可实现12/13/202120思考题思考题n什么是管态,什么是目态,为什么要区分二态?什么是管态,什么是目态,为什么要区分二态?

10、你认为用什么方法可以区分二态?你认为用什么方法可以区分二态?n在什么情况下处理机的状态会从目态转换到管在什么情况下处理机的状态会从目态转换到管态?如何实现这种转换?态?如何实现这种转换?n为什么为什么I/O指令是特权指令?指令是特权指令?nX86处理机提供四种状态,而大多操作系统只处理机提供四种状态,而大多操作系统只使用两种状态,你能说说原因吗?使用两种状态,你能说说原因吗?12/13/2021212.3 存储系统存储系统存储系统是支持OS运行的硬件环境的一个重要方面:n作业必须把它的程序和数据存放在内存中才能运行n多道程系统中,若干个程序和相关的数据要放入主存储器n操作系统要管理、保护程序和

11、数据,使它们不至于受到破坏n操作系统本身也要存放在主存储器中并运行 12/13/202122存储器的类型存储器的类型两类存储器:读写型的存储器 只读型的存储器12/13/202123读写型的存储器n可把数据存入其中任一地址单元,并可在以后的任何时候把数据读出,或者重新存入新的数据的一种存储器n常被称为随机访问存储器(RAM:Random Access Memory)nRAM主要用作存放随机存取的程序的数据12/13/202124只读型的存储器:n只能从其中读取数据,但不能随意用普通方法写入数据(写入数据只能用特殊方法)n称为只读存储器(ROM:Read-Only Memory)变型:PROM和

12、EPROMnPROM:一种可编程只读存储器,使用特殊PROM写入器写入数据nEPROM:用特殊的紫外线光照射此芯片,以“擦去”信息,恢复原来状态,然后使用特殊EPROM写入器写入数据12/13/202125存储器的层次结构存储器的层次结构存储系统设计三个问题: 容量、速度和成本n容量:需求无止境n速度:能匹配处理器的速度n成本问题:成本和其它部件相比应在合适范围之内12/13/202126容量、速度和成本n三个目标不可能同时达到最优,要作权衡n存取速度快,每比特价格高n容量大,每比特价格越低,同时存取速度也越慢12/13/202127解决方案采用层次化的存储体系结构n当沿着层次下降时n每比特的

13、价格将下降,容量将增大n速度将变慢,处理器的访问频率也将下降12/13/202128层次化的存储体系结构层次化的存储体系结构12/13/202129存储访问局部性原理存储访问局部性原理提高存储系统效能关键点:程序存储访问局部性原理n程序执行时,有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合n对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域处理器主要和存储器的局部打交道在经过一段时间以后,使用的代码和数据集合会改变12/13/202130设计多级存储的体系结构设计多级存储的体系结构假设两级存储器:n第I级包含1KB,存取时间为0.1sn第II级包

14、含1MB,存取时间为1s存取I级中的内容,直接存取存取II级,首先被转移到I级,然后再存取假设确定内容所在位置时间可以忽略若在I级存储器中发现存取对象的概率是95%,则平均访问时间为:结果非常接近I级存储的存取时间ssss15.011.005.01.095.012/13/202131T1T1:I I级存储器的存取时间级存储器的存取时间T2T2:IIII级存储器的存取时间级存储器的存取时间一个简单二级存储系统的性能一个简单二级存储系统的性能12/13/202132思考题思考题n层次化的存储体系结构有什么好处?层次化的存储体系结构有什么好处?n处理器如何知道要访问的数据是在内存还是处理器如何知道要

15、访问的数据是在内存还是在在Cache?请设计一个你认为可行的方案。?请设计一个你认为可行的方案。(提示:从内存装数据到(提示:从内存装数据到Cache以块为单位,以块为单位,一块一般为一块一般为1-4k)n什么叫存储访问局部性原理?什么叫存储访问局部性原理?12/13/2021332.4 中断技术中断技术中断对于操作系统的重要性 就像机器中的驱动齿轮一样所以有人把操作系统称为是由 “中断驱动”或者 “(中断)事件驱动”12/13/202134中断机制中断机制 中断机制是操作系统得以正常工作的最重要的手段n它使得OS可以捕获普通程序发出的系统功能调用n及时处理设备的中断请求n防止用户程序中破坏性

16、的活动等等12/13/202135什么是中断?n指CPU对系统中或系统外发生异步事件的响应n异步事件是指无一定时序关系的随机发生事件如外部设备完成数据传输、实时设备出现异常等“中断”名称源于:n当异步事件发生后,打断了对当前程序的执行n而转去处理该异步事件n直到处理完了后,再转回原程序中断点继续执行2.4.1 中断的概念中断的概念12/13/202136从用户角度看中断从用户角度看中断12/13/202137引入中断的目的n解决主机与外设的并行工作问题n提高可靠性n实现多机联系n实现实时控制特点: 1) 中断是随机的 2) 中断是可恢复的 3) 中断是自动处理的12/13/202138n中断源

17、:引起中断发生的事件n中断寄存器:记录中断n中断字:中断寄存器的内容n系统堆栈:内存中的一块区域,用于保存现场几个概念几个概念12/13/202139中断寄存器:n有的计算机中,为了区分和不丢失中断信号 对应每个中断源分别用一固定触发器寄存中断信号 规定值为1时,表示有中断信号,为0时表示无n这些触发器的全体称为中断寄存器n每个触发器称为一个中断位n所以中断寄存器是由若干个中断位组成12/13/202140中断类型中断类型强迫性中断 正在运行的程序所不期望的,由于某种硬件故障或外部请求引起的自愿性中断 用户在程序中有意识安排的中断,是由于用户在编制程序时因为要求操作系统提供服务,有意使用“访管

18、”指令或系统调用,使中断发生12/13/202141强迫性中断n输入/输出(I/O)中断:主要来自外部设备通道n程序性中断:运行程序中本身的中断( (如被如被0 0除除, ,缺页中断缺页中断, ,缺段中断缺段中断, ,地址越界地址越界) )n时钟中断n控制台中断n硬件故障中断12/13/202142自愿性中断又称访管中断n执行I/O指令,创建进程,分配内存n信号量操作,发送/接收消息12/13/202143IBM370中的中断中的中断1. 机器故障中断:如电源故障、电路检验出错等2. 输入输出中断:I/O设备完成任务时产生3. 外部中断:时钟中断、多机系统中其它CPU的通信要求中断等4. 程序

19、中断:程序中的问题引起的中断,如错误地使用指令或数据、存储保护等5. 访管中断:每当CPU执行访管指令时,即引起中断并调用操作系统相应的功能模块为其服务12/13/2021442.4.2 2.4.2 中断系统中断系统中断系统的两大组成部分:硬件中断装置和软件中断处理程序n中断装置-中断系统的机制部分 负责捕获中断源发出的中断请求,以一定方式响应中断源,然后将处理器控制权交给特定的中断处理程序n中断处理程序-中断系统的策略部分 12/13/202145中断装置的基本功能中断装置的基本功能n发现中断n响应中断:保护现场、找到恰当的中断处理程序12/13/202146处理器如何发现中断信号? 处理器

20、的控制部件中设一个能检测中断的机构,称为中断扫描机构n在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号n若无中断信号,继续执行下一条指令n若有中断,中断硬件就进行中断响应发现中断发现中断12/13/202147响应中断响应中断n如何响应中断?使用“向量中断”机制12/13/202148中断向量表:中断向量表:将主存最低端的若干个字节保留作为中断向量表,每个中断向量占两个字中断向量?PC、PSW12/13/202149中断响应的过程中断响应的过程12/13/202150中断处理过程小结中断处理过程小结中断处理一般过程:(1)设备给处理器发一个中断信号(2)处理器处理完当前指令后检测

21、到中断,判断出中断来源并向发送中断的设备发送确认中断信号,确认信号使得该设备将中断信号恢复到一般状态(3)处理器开始为软件处理中断做准备: 保存中断点的程序执行上下文环境,这通常包括程序状态字PSW,程序计数器PC,一些寄存器的值,它们通常保存在系统栈中,处理器状态被切换到管态12/13/202151(4)处理器根据中断源查询中断向量表,获得与该中断相联系的处理程序入口地址,并将PC置成该地址,处理器开始一个新的指令周期,控制转移到中断处理程序(5)中断处理程序开始工作(6)中断处理结束时,执行中断返回指令,被中断程序的上下文环境从系统堆栈中被恢复,处理器状态恢复成原来的状态。(7)PSW和P

22、C被恢复成中断前的值,处理器开始一个新的指令周期,中断处理结束12/13/202152设备控制器或其他设备控制器或其他系统硬件发出中断系统硬件发出中断处理器完成当前指处理器完成当前指令的执行令的执行处理器接受中断处理器接受中断处理器将处理器将PSW和和PC推入系统堆栈推入系统堆栈处理器根据中断类处理器根据中断类型读入新的型读入新的PC和和PSW值值中断系统硬件完成的工中断系统硬件完成的工作作12/13/202153保存保存CPU状态的其状态的其余信息余信息执行中断处理程序执行中断处理程序恢复恢复CPU状态信息状态信息从系统堆栈恢复原从系统堆栈恢复原PSW和和PC中断系统软件完成的工作中断系统软

23、件完成的工作12/13/2021542.4.3 2.4.3 中断的其它问题中断的其它问题中断优先级中断优先级在一些机器中,中断优先级按中断类型划分:n 以机器故障中断的优先级最高 n 程序中断和访问管理程序中断次之 n 外部中断更次之 n 输入输出的优先级最低12/13/202155中断屏蔽中断屏蔽在CPU上运行的程序,有时由于种种原因,不希望其在执行过程中被别的事件所中断,称为中断屏蔽n在PSW中设置中断屏蔽码以屏蔽某些指定的中断类型n各设备接口中也有中断禁止位,以禁止该设备的中断12/13/202156多个中断的处理多个中断的处理若中断处理过程中又发生中断,引起多中断处理问题两种策略方法:

24、n第一种: 处理一个中断时禁止中断,对任何新中断置之不理,当再次允许中断时,新中断才被响应。第一种策略的软件实现方法: 在任何中断处理前使用禁止中断指令 在处理结束后开放中断指令 所有中断严格按照发生顺序处理 不考虑中断紧急程度,无法达到较严格时间要求12/13/202157多中断处理第一种策略方法多中断处理第一种策略方法12/13/202158n第二种: 中断按照优先度分级 允许优先级高中断打断优先级低的中断处理过程 这样中断优先级技术将引起中断处理的嵌套 只要合适地定义中断的优先级别 方法一的弊端大都可以克服12/13/202159用户程序低级中断高级中断多中断处理第二种策略方法多中断处理

25、第二种策略方法12/13/202160典型的中断处理(典型的中断处理(1 1):):I/O中断中断由I/O设备的控制器或者通道发出两类I/O中断:nI/O操作正常结束如果要继续I/O操作,需要在准备好以后重新启动I/O,若请求I/O程序正处于等待I/O状态,则应将其唤醒nI/O异常需要重新执行失败的I/O操作重试次数有上限,次数过大,系统将判定硬件故障12/13/202161典型的中断处理(典型的中断处理(2):硬件故障中断硬件故障中断 硬件故障中断处理程序一般需要做的工作:n保存现场,使用一定警告手段,提供些辅助诊断信息n在高可靠系统中,中断处理程序还要评估系统可用性,尽可能恢复系统如Win

26、dows 2000/XP,关键硬件发生故障时,如显示卡损坏,出现系统蓝屏,系统实际上进入相应故障处理程序,发现故障不可恢复,则在屏幕上打印出发生故障时程序位置,并开始进行内存转储(将一定范围的内存内容写上磁盘,是系统故障时的全系统“快照”),备日后故障诊断12/13/202162程序指令出错、指令越权或者指令寻址越界而引发两类处理方法:n只能由操作系统的相关扩展功能模块完成 多为程序试图作不能做的操作引起的系统保护 如访问合法的、但不在内存虚地址内,引发页故障,页故障一般会引发OS虚存模块作一个页面换入n可由程序自己完成,如一些算术运算错误 不同程序可有不同处理方法典型的中断处理典型的中断处理

27、( (3)3):程序性中断:程序性中断12/13/202163典型的中断处理典型的中断处理(4):系统服务请求(自愿性中断):系统服务请求(自愿性中断)系统服务请求由处理器专用指令(访管指令)激发n如x86处理器提供int指令n其他不少处理器则提供系统调用指令syscall 执行专用指令的结果是系统被切换到管态,并且转移到一段专门OS程序处开始执行n指令格式通常是指令名加请求服务识别号nOS利用处理器提供的这种接口建立系统服务体系n处理器一般不负责定义系统调用所传递的参数格式12/13/202164n现代操作系统一般不提供直接使用系统调用指令的接口,通常做法:提供一套方便、实用的应用程序函数库(应用程序设计接口API)u从应用层面重新封装系统调用u屏蔽复杂的系统调用传参问题u高级语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论