版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章操作系统的硬件环境讨论操作系统对运行硬件环境的要求了解OS设计者所面对的硬件操作系统运行的硬件环境组成中央处理器(CPU)存储系统中断机制I/O系统时钟以及时钟队列缓冲技术总线第二章操作系统的硬件环境讨论操作系统对运行硬件环境的要求1概述任何系统软件都是硬件功能的延伸操作系统直接依赖于硬件条件OS的硬件环境以较分散的形式同各种管理相结合实现操作系统时必须理解的计算机基本结构操作系统管理的重要资源概述任何系统软件都是硬件功能的延伸2简单的个人计算机中的部件MonitorBus简单的个人计算机中的部件MonitorBus3一、中央处理器(CPU)专门设计了一系列基本机制:-具有特权级别的处理器状态,能在不同特权级运行的各种特权指令-硬件机制使得OS可以和普通程序隔离实现保护和控制一、中央处理器(CPU)专门设计了一系列基本机制:41、CPU的构成与基本工作方式处理器由运算器、控制器、一系列的寄存器以及高速缓存构成运算器实现指令中的算术和逻辑运算,是计算机计算的核心控制器负责控制程序运行的流程,包括取指令、维护CPU状态、CPU与内存的交互等等1、CPU的构成与基本工作方式处理器由运算器、控制器、一5寄存器是指令在CPU内部作处理的过程中暂存数据、地址以及指令信息的存储设备在计算机的存储系统中它具有最快的访问速度高速缓存处于CPU和物理内存之间一般由控制器中的内存管理单元(MMU:MemoryManagementUnit)管理访问速度快于内存,低于寄存器利用程序局部性原理使得高速指令处理和低速内存访问得以匹配,从而提高CPU的效率寄存器是指令在CPU内部作处理的过程中暂存数据、地址以及指令6处理器中的寄存器寄存器提供了一定的存储能力速度比主存快得多造价高,容量一般都很小两类寄存器:用户可见寄存器,高级语言编译器通过算法分配并使用之,以减少程序访问主存次数控制和状态寄存器,用于控制处理器的操作由OS的特权代码使用,以控制其它程序的执行处理器中的寄存器寄存器提供了一定的存储能力7用户可见寄存器机器语言直接引用包括数据寄存器、地址寄存器以及条件码寄存器数据寄存器(dataregister)又称通用寄存器主要用于各种算术逻辑指令和访存指令地址寄存器(addressregister)用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。如indexregister、segmentpointer、stackpointer条件码寄存器保存CPU操作结果的各种标记位如算术运算产生的溢出、符号等等用户可见寄存器机器语言直接引用8控制和状态寄存器用于控制处理器的操作大部分对于用户是不可见的一部分可以在某种特权模式(由OS使用)下访问常见的控制和状态寄存器:程序计数器(PC:ProgramCounter),记录将要取出的指令的地址指令寄存器(IR:InstructionRegister),包含最近取出的指令程序状态字(PSW:ProgramStatusWord),记录处理器的运行模式信息等等控制和状态寄存器用于控制处理器的操作9指令执行的基本过程(1)两个步骤:先从存储器中每次读取一条指令然后执行这条指令一个单条指令处理过程称为一个指令周期程序的执行是由不断取指和执行的指令周期组成仅当关机、出错或有停机相关指令时,程序才停止指令执行的基本过程(1)两个步骤:10每个指令周期开始时,依据在程序计数器中的指令地址从存储器中取一条指令在取指完成后根据指令类别自动将程序计数器的值变成下条指令的地址,自增1取到的指令放在指令寄存器中处理器解释并执行所要求的动作指令执行的基本过程(2)每个指令周期开始时,依据在程序计数器中的指令地址从存储器中取115类指令访问存储器指令:处理器和存储器间数据传送I/O指令:处理器和I/O模块间数据传送和命令发送算术逻辑指令(数据处理指令):执行数据算术和逻辑操作控制转移指令:指定一个新的指令的执行起点处理器控制指令:修改处理器状态,改变处理器工作方式5类指令访问存储器指令:122、特权指令和非特权指令特权指令:只能由操作系统使用的指令使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令特权指令一般引起处理器状态的切换
处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态)然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入•CPU如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识2、特权指令和非特权指令特权指令:只能由操作系统使用的指令133、处理器的状态根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态多数系统将处理器工作状态划分为管态和目态管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、系统态目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态有些系统将处理器状态划分核心状态,管理状态和用户程序状态(目标状态)三种3、处理器的状态根据运行程序对资源和机器指令的使用权限将处理14实例:x86系列处理器(1)386、486、Pentium系列都支持4个处理器特权级别(特权环:R0、R1、R2和R3)从R0到R3特权能力依次降低R0相当于双状态系统的管态R3相当于目态R1和R2则介于两者之间,它们能够运行的指令集合具有包含关系:实例:x86系列处理器(1)386、486、Pentium系15各个级别有保护性检查(地址校验、I/O限制)特权级别之间的转换方式不尽相同四个级别运行不同类别的程序:R0-运行操作系统核心代码R1-运行关键设备驱动程序和I/O处理例程R2-运行其它受保护共享代码,如语言系统运行环境R3-运行各种用户程序现有基于x86处理器的操作系统,多数UNIX、Linux以及Windows系列大都只用了R0和R3两个特权级别实例:x86系列处理器(2)各个级别有保护性检查(地址校验、I/O限制)实例:x86系列16管态和目态的差别处理器处于管态时:全部指令(包括特权指令)可以执行可使用所有资源并具有改变处理器状态的能力处理器处于目态时:只有非特权指令能执行特权级别不同,可运行指令集合也不同特权级别越高,可以运行指令集合越大高特权级别对应的可运行指令集合包含低特权级的管态和目态的差别处理器处于管态时:174、程序状态字PSW在PSW中专门设置一位,根据运行程序使用指令的权限而设置,PSW(ProgramStatusWord):CPU的工作状态码——指明管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力条件码——反映指令执行后的结果特征中断屏蔽码——指出是否允许中断4、程序状态字PSW在PSW中专门设置一位,根据运行程序使用18例:微处理器M68000的程序状态字条件位:C:进位标志位 V:溢出标志位Z:结果为零标志位 N:结果为负标志位I0–I2:三位中断屏蔽位S:CPU状态标志位,为1处于管态,为0处于目态T:陷阱(Trap)中断指示位为1,在下一条指令执行后引起自陷中断例:微处理器M68000的程序状态字条件位:19CPU状态的转换目态--管态其转换的唯一途径是通过中断管态--目态可用设置PSW(修改程序状态字)可实现CPU状态的转换目态--管态20二、存储系统支持OS运行硬件环境的一个重要方面:作业必须把它的程序和数据存放在内存中才能运行多道程系统中,若干个程序和相关的数据要放入主存储器操作系统要管理、保护程序和数据,使它们不至于受到破坏操作系统本身也要存放在主存储器中并运行
二、存储系统支持OS运行硬件环境的一个重要方面:211、存储器的类型两类存储器:读写型的存储器只读型的存储器读写型的存储器可把数据存入其中任一地址单元,并可在以后的任何时候把数据读出,或者重新存入新的数据的一种存储器常被称为随机访问存储器(RAM:RandomAccessMemory)RAM主要用作存放随机存取的程序的数据1、存储器的类型两类存储器:读写型的存储器22只读型的存储器:只能从其中读取数据,但不能随意用普通方法写入数据(写入数据只能用特殊方法)称为只读存储器(ROM:Read-OnlyMemory)变型:PROM和EPROMPROM:一种可编程只读存储器,使用特殊PROM写入器写入数据EPROM:用特殊的紫外线光照射此芯片,以“擦去”信息,恢复原来状态,然后使用特殊EPROM写入器写入数据在微机中,一些常驻内存的模块以微程序形式固化在ROM中如:PCBIOS和CBASIC解释程序被固化于ROM中只读型的存储器:232、存储器的层次结构存储系统设计三个问题:容量、速度和成本容量:需求无止境速度:能匹配处理器的速度成本问题:成本和其它部件相比应在合适范围之内2、存储器的层次结构存储系统设计三个问题:24容量、速度和成本三个目标不可能同时达到最优,要作权衡存取速度快,每比特价格高容量大,每比特价格越低,同时存取速度也越慢解决方案:采用层次化的存储体系结构当沿着层次下降时每比特的价格将下降,容量将增大速度将变慢,处理器的访问频率也将下降容量、速度和成本25层次化的存储体系结构层次化的存储体系结构26存储访问局部性原理提高存储系统效能关键点:程序存储访问局部性原理程序执行时,有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域处理器主要和存储器的局部打交道在经过一段时间以后,使用的代码和数据集合会改变存储访问局部性原理提高存储系统效能关键点:程序存储访问局部性27设计多级存储的体系结构原则:级别较低存储器比率小于级别较高存储器比率假设两级存储器: 第I级包含1KB,存取时间为0.1μs 第II级包含1MB,存取时间为1μs存取I级中的内容,直接存取存取II级,首先被转移到I级,然后再存取假设确定内容所在位置时间可以忽略若在I级存储器中发现存取对象的概率是95%,则平均访问时间为:结果非常接近I级存储的存取时间设计多级存储的体系结构原则:级别较低存储器比率小于级别较高存28T1:I级存储器的存取时间T2:II级存储器的存取时间一个简单二级存储系统的性能T1:I级存储器的存取时间一个简单二级存储系统的性能293、存储分块存储最小单位:“二进位”,包含信息为0或1最小编址单位:字节,一个字节包含八个二进位主流个人电脑主存:128MB~512MB之间辅助存储器:在20GB~70GB工作站、服务器主存:512MB~4GB之间硬盘容量:数百GB为简化分配和管理,存储器分成块,称一个物理页(Page)块的大小:512B、1K、4K、8K3、存储分块存储最小单位:“二进位”,包含信息为0或1304、存储保护设施对主存中的信息加以严格的保护,使操作系统及其它程序不被破坏,是其正确运行的基本条件之一多用户,多任务操作系统:OS给每个运行进程分配一个存储区域问题:多个程序同时在同一台机器上运行怎样才能互不侵犯?4、存储保护设施对主存中的信息加以严格的保护,使操作系统及其31保护的硬件支持为了保证软件程序只影响程序的内部硬件可提供如下功能:界地址寄存器(界限寄存器)存储键地址转换保护的硬件支持为了保证软件程序只影响程序的内部32界地址寄存器(界限寄存器)界地址寄存器被广泛使用的一种存储保护技术机制比较简单,易于实现实现方法:在CPU中设置一对下限寄存器和上限寄存器存放用户作业在主存中的下限和上限地址也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度)每当CPU要访问主存,硬件自动将被访问的主存地址与界限寄存器的内容进行比较,以判断是否越界如果未越界,则按此地址访问主存,否则将产生程序中断——越界中断(存储保护中断)界地址寄存器(界限寄存器)界地址寄存器被广泛使用的一种存储保33界地址寄存器存储保护技术界地址寄存器34存储键每个存储块有一个由二进位组成的存储保护键一用户作业被允许进入主存,OS分给它一个唯一的存储键号并将分配给该作业各存储块存储键也置成同样键号当OS挑选该作业运行时,OS将它的存储键号放入程序状态字PSW存储键(“钥匙”)域中每当CPU访问主存时,都将该主存块的存储键与PSW中的“钥匙”进行比较如果相匹配,则允许访问,否则,拒绝并报警存储键每个存储块有一个由二进位组成的存储保护键35地址转换同时有多个程序在内存程序在内存的位置不是固定的而是随机的地址转换同时有多个程序在内存36CPUTranslationBox(MMU)虚拟地址物理地址物理空间数据读或写(不需转换)现代体系结构中的地址转换CPUTranslation虚拟地址物理地址物理空间数据读37codedataheapstack程序2虚地址空间data2stack1code1heap1code2stack2data1heap2OScodeOSdataOSheap&stacks程序1虚地址空间codedataheapstack内存地址转换code程序2data2程序1code内存地址转换38三、中断技术中断对于操作系统的重要性就像机器中的驱动齿轮一样所以有人把操作系统称为是由“中断驱动”或者“(中断)事件驱动”三、中断技术中断对于操作系统的重要性39中断机制
中断机制是操作系统得以正常工作的最重要的手段它使得OS可以捕获普通程序发出的系统功能调用及时处理设备的中断请求防止用户程序中破坏性的活动等等中断机制中断机制是操作系统得以正常工作的最重要的手段40什么是中断?指CPU对系统中或系统外发生异步事件的响应异步事件是指无一定时序关系的随机发生事件如外部设备完成数据传输,实时设备出现异常等“中断”名称源于:当异步事件发生后,打断了对当前程序的执行而转去处理该异步事件直到处理完了后,再转回原程序中断点继续执行1、中断的概念什么是中断?1、中断的概念41中断定义CPU对系统发生的某个事件作出的一种反应CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序中断定义CPU对系统发生的某个事件作出的一种反应42从用户角度看中断从用户角度看中断43引入中断的目的解决主机与外设的并行工作问题提高可靠性实现多机联系实现实时控制特点:1)中断是随机的2)中断是可恢复的3)中断是自动处理的引入中断的目的44中断源:引起中断发生的事件中断寄存器:记录中断中断字:中断寄存器的内容系统堆栈:
在内存开辟的一块区域,用于临时保存现场中断系统的概念中断源:引起中断发生的事件中断系统的概念45中断类型(1)强迫性中断正在运行的程序所不期望的,由于某种硬件故障或外部请求引起的自愿性中断用户在程序中有意识安排的中断,是由于用户在编制程序时因为要求操作系统提供服务,有意使用“访管”指令或系统调用,使中断发生中断类型(1)强迫性中断46中断类型(2)强迫性中断的类型输入/输出(I/O)中断:主要来自外部设备通道程序性中断:运行程序中本身的中断(如溢出,缺页中断,缺段中断,地址越界)时钟中断控制台中断硬件故障中断类型(2)强迫性中断的类型47中断类型(3)自愿性中断执行I/O创建进程分配内存信号量操作,发送/接收消息中断类型(3)自愿性中断48微机中的中断1.可屏蔽中断(IO中断)2.不可屏蔽中断(机器内部故障、掉电中断)3.程序错误中断(溢出、除法错等中断)4.软件中断(Trap指令或中断指令INT)微机中的中断49IBM370中的中断1.机器故障中断:如电源故障,机器电路检验错等2.输入输出中断:输入输出设备和通道数据传输状态)3.外部中断:时钟中断,操作员控制台中断,多机系统中其它机器的通信要求中断,各种外设或传感器发来的实时中断等4.程序中断:程序中的问题引起的中断,如错误地使用指令或数据、溢出等问题,存储保护等5.访管中断:访管指令或陷阱指令(Trap指令)中的操作数规定了要求服务的类型。每当CPU执行访管指令或陷阱指令时,即引起中断并调用操作系统相应的功能模块为其服务IBM370中的中断1.机器故障中断:如电源故障,机器电路502、中断系统中断系统的两大组成部分:硬件中断装置和软件中断处理程序中断系统的硬件中断装置-中断系统的机制部分负责捕获中断源发出的中断请求,以一定方式响应中断源,然后将处理器控制权交给特定的中断处理程序软件中断处理程序-中断系统的策略部分负责辨别中断类型并做出相应的操作2、中断系统中断系统的两大组成部分:硬件中断装置和软件中断处51中断装置的基本功能提供识别中断源的方法提供查询中断状态的方法,通常使用一个寄存器存储有关中断的状态信息,称为中断字提供中断现场保护的能力提供中断处理程序寻址能力,找到恰当的中断处理程序具有预定义的系统控制栈和中断处理程序入口地址映射表(中断向量表)等数据结构和它们在主存中的位置,以辅助OS定制中断处理策略和中断调度机制中断装置的基本功能提供识别中断源的方法523、中断逻辑与中断寄存器(1)如何接受和响应中断源的中断请求,因机器而异如,在PC中:有可屏蔽的中断请求INTR:主要是输入输出设备的I/O中断,通过建立在PSW中的中断屏蔽位加以屏蔽,即使再有I/O中断,处理器也不响应不可屏蔽的中断请求:属于机器故障中断,包括内存奇偶校验错以及掉电等中断源程序中的问题所引起的中断(如溢出、除法错都可以引起中断)和软件中断等由于可能有很多中断源请求同时发生由中断逻辑按中断优先级加以判定响应哪个中断请求3、中断逻辑与中断寄存器(1)如何接受和响应中断源的中断请求53中断寄存器:有的计算机中,为了区分和不丢失中断信号对应每个中断源分别用一固定触发器寄存中断信号规定值为1时,表示有中断信号,为0时表示无这些触发器的全体称为中断寄存器每个触发器称为一个中断位所以中断寄存器是由若干个中断位组成中断逻辑与中断寄存器(2)中断寄存器:中断逻辑与中断寄存器(2)54处理器如何发现中断信号?处理器的控制部件中设一个能检测中断的机构称为中断扫描机构在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号若无中断信号,继续执行下一条指令若有中断,中断硬件将该中断触发器内容按规定编码送入PSW的相应位,称为中断码中断逻辑与中断寄存器(3)处理器如何发现中断信号?中断逻辑与中断寄存器(3)554、多级中断和中断屏蔽多级中断:多数微型处理器有着多级中断系统,可以有多根中断请求线(级)从不同设备连接到中断逻辑如M68000有七级,PDP11有11级具有相同特性和优先级的设备可连到同一中断级上中断优先级:在多级中断系统中,可能同时有多个中断请求,CPU接受中断优先级为最高的那个中断忽略其中断优先级较低的那些中断4、多级中断和中断屏蔽多级中断:565、中断响应
CPU如何响应中断,两个问题:
CPU何时响应中断?通常在CPU执行了一条指令以后,更确切地,在指令周期最后时刻接受中断请求,或此时扫描中断寄存器如何知道提出中断请求的设备或中断源?因为只有知道中断源或中断设备,才能调用相应的中断处理程序5、中断响应 CPU如何响应中断,两个问题:57开始取下一条指令执行指令检查指令处理中断停止取周期执行周期中断周期不允许中断允许中断开始取下一条指令执行指令检查指令停止取周期执行周期中断周期不58用软件指令去查询各设备接口这种方法比较费时多数微型机对此问题的解决方法:使用一种“向量中断”的硬件设施“向量中断”:当CPU接受某中断请求时,该设备接口给处理器发送具有唯一性的“中断向量”,以标识该设备“中断向量”在各计算机上实现方法差别比较大两种解决方法
用软件指令去查询各设备接口两种解决方法 59中断向量表在有的机器中:将主存最低位128个字保留作为中断向量表,每个中断向量占两个字中断请求的设备接口为了标识自己,向处理器发送一个该设备在中断向量表中表目的地址指针中断向量表在有的机器中:60中断优先级在一些机器中,中断优先级按中断类型划分:以机器故障中断的优先级最高程序中断和访问管理程序中断次之外部中断更次之输入输出的优先级最低中断优先级在一些机器中,中断优先级按中断类型划分:61中断屏蔽在CPU上运行的程序,有时由于种种原因,不希望其在执行过程中被别的事件所中断,称为中断屏蔽在PSW中设置中断屏蔽码以屏蔽某些指定的中断类型如果其PSW的中断禁止位建立后,则屏蔽中断(不包括不可屏蔽的那些中断)如果PSW中的中断禁止位未建立则可以接受其中断优先级高于运行程序中断优先级的那些中断各设备接口中也有中断禁止位,以禁止该设备的中断中断屏蔽在CPU上运行的程序,有时由于种种原因,不希望其在执626、中断处理(1)简单的中断处理-典型的处理过程:(1)设备给处理器发一个中断信号(2)处理器处理完当前指令后响应中断,延迟非常短(要求处理器没有关闭中断)(3)处理器处理完当前指令后检测到中断,判断出中断来源并向发送中断的设备发送了确认中断信号,确认信号使得该设备将中断信号恢复到一般状态(4)处理器开始为软件处理中断做准备:保存中断点的程序执行上下文环境,这通常包括程序状态字PSW,程序计数器PC中的下一条指令位置,一些寄存器的值,它们通常保存在系统控制栈中,处理器状态被切换到管态6、中断处理(1)简单的中断处理-典型的处理过程:63(5)处理器根据中断源查询中断向量表,获得与该中断相联系的处理程序入口地址,并将PC置成该地址,处理器开始一个新的指令周期,控制转移到中断处理程序(6)中断处理程序开始工作,包括检查I/O相关的状态信息,操纵I/O设备或者在设备和主存之间传送数据等等(7)中断处理结束时,处理器检测到中断返回指令,被中断程序的上下文环境从系统堆栈中被恢复处理器状态恢复成原来的状态。(8)PSW和PC被恢复成中断前的值,处理器开始一个新的指令周期,中断处理结束中断处理(2)(5)处理器根据中断源查询中断向量表,获得与该中断相联系的处64简单的中断处理过程简单的中断处理过程65多个中断的处理(1)若中断处理过程中又发生中断,引起多中断处理问题两种策略方法:第一种:处理一个中断时禁止中断,对任何新中断置之不理,在这期间发生的中断将保持挂起状态当再次允许中断时,新中断信号被处理器检测到软件实现方法:在任何中断处理前使用禁止中断指令在处理结束后开放中断指令所有中断严格按照发生顺序处理不考虑中断紧急程度,无法达到较严格时间要求多个中断的处理(1)若中断处理过程中又发生中断,引起多中断处66多中断处理第一种策略方法多中断处理第一种策略方法67第二种:中断按照优先度分级允许优先级高中断打断优先级低的中断处理过程这样中断优先级技术将引起中断处理的嵌套只要合适地定义中断的优先级别方法一的弊端大都可以克服多个中断的处理(2)第二种:多个中断的处理(2)68多中断处理第二种策略方法多中断处理第二种策略方法69典型的中断处理(1):I/O中断由I/O设备的控制器或者通道发出两类I/O中断:I/O操作正常结束如果要继续I/O操作,需要在准备好以后重新启动I/O,若请求I/O程序正处于等待I/O状态,则应将其唤醒I/O异常需要重新执行失败的I/O操作重试次数有上限,次数过大,系统将判定硬件故障典型的中断处理(1):I/O中断由I/O设备的控制器或者通道70系统多道能力的重要推动力量,时钟中断处理程序通常做与系统运转、管理和维护相关的工作,包括:维护软件时钟:系统有若干个软件时钟,控制定时任务以及进程的处理器时间配额,时钟中断需要维护、定时更新这些软件时钟处理器时间调度:维护当前进程时间片软件时钟,并在当前进程时间片到时以后运行调度程序选择下一个被调度的进程控制系统定时任务:通过软件时钟和调度程序定时激活一些系统任务,如监测死锁、系统记帐、系统审计等实时处理典型的中断处理(2):时钟中断系统多道能力的重要推动力量,时钟中断处理程序通常做与系统运转71典型的中断处理(3):硬件故障中断硬件故障中断处理程序一般需要做的工作:保存现场,使用一定警告手段,提供些辅助诊断信息在高可靠系统中,中断处理程序还要评估系统可用性,尽可能恢复系统如Windows2000/XP,关键硬件发生故障时,如显示卡损坏,出现系统蓝屏,系统实际上进入相应故障处理程序,发现故障不可恢复,则在屏幕上打印出发生故障时程序位置,并开始进行内存转储(将一定范围的内存内容写上磁盘,是系统故障时的全系统“快照”),备日后故障诊断典型的中断处理(3):硬件故障中断硬件故障中断处理程序一72程序指令出错、指令越权或者指令寻址越界而引发两类处理方法:只能由操作系统的相关扩展功能模块完成多为程序试图作不能做的操作引起的系统保护如访问合法的、但不在内存虚地址内,引发页故障页故障一般会引发OS虚存模块作一个页面换入可由程序自己完成,如一些算术运算错误不同程序可有不同处理方法,所以很多OS提供由用户自己处理这类中断的“绿色通道”系统调试中断(断点中断、单步跟踪)也可被用户程序处理,用以支持各种程序调试典型的中断处理(4):程序性中断程序指令出错、指令越权或者指令寻址越界而引发典型的中断处理(73典型的中断处理(5):系统服务请求(自愿性中断)系统服务请求由处理器专用指令(访管指令)激发如x86处理器提供int指令,用来激发软件中断其他不少处理器则提供系统调用指令syscall执行专用指令的结果是系统被切换到管态,并且转移到一段专门OS程序处开始执行指令格式通常是指令名加请求服务识别号(中断号)OS利用处理器提供的这种接口建立系统服务体系处理器一般不负责定义系统调用所传递的参数格式典型的中断处理(5):系统服务请求(自愿性中断)系统服务请求74DOS:21h号中断的系统服务功能以及参数列表现代操作系统一般不提供直接使用系统调用指令的接口,通常做法:提供一套方便、实用的应用程序函数库(应用程序设计接口API)从应用层面重新封装系统调用屏蔽复杂的系统调用传参问题高级语言接口,有助于快速开发有的系统在更高层面提供系统程序设计模板库和类库
如Windows2000/XP提供封装系统用Win32API和高层编程机制MFC以及ATLLinux提供封装系统调用、符合POSIX标准API和C运行库典型的中断处理(6):系统服务请求实例DOS:21h号中断的系统服务功能以及参数列表典型的中断处理75设备控制器或其他系统硬件发出中断处理器完成当前指令的执行处理器接受中断处理器将PSW和PC推入系统堆栈处理器根据中断类型读入新的PC值中断系统硬件完成的工作设备控制器或其他系统硬件发出中断处理器完成当前指令的执行处理76保存进程状态的其余信息进程中断恢复进程状态信息从系统堆栈恢复原PSW和PC中断系统软件完成的工作保存进程状态的其余信息进程中断恢复进程状态信息从系统堆栈恢复77强迫性中断事件自愿性中断事件保存现场信息保存现场信息取出中断码取出访管号分析中断原因分析何种系统调用转相应处理程序是否中断嵌套由系统恢复现场由系统恢复现场转低级调度程序返回上层中断返回目态程序需要切换进程TFFT强迫性中断事件自愿性中断事件保存现场信息保存现场信息取出中断78四、I/O技术I/O控制使用下面几种技术:程序控制中断驱动直接存储器存取(DMA)通道四、I/O技术I/O控制使用下面几种技术:791、程序控制I/O技术由处理器提供I/O相关指令来实现I/O处理单元处理请求并设置I/O状态寄存器相关位不中断处理器,也不给处理器警告信息处理器定期轮询I/O单元的状态,直到处理完毕I/O软件包含直接操纵I/O的指令控制指令:用于激活外设,并告诉它做什么状态指令:用于测试I/O控制中的各种状态和条件数据传送指令:用于在设备和主存之间来回传送数据主要缺陷:处理器必须关注I/O处理单元的状态,因而耗费大量时间轮询信息,严重地降低了系统性能1、程序控制I/O技术由处理器提供I/O相关指令来实现802、中断驱动I/O技术为了解决程序控制I/O方法的主要问题应该让处理器从轮询任务中解放出来使I/O操作和指令执行并行起来具体作法:当I/O处理单元准备好与设备交互的时候通过物理信号通知处理器,即中断处理器2、中断驱动I/O技术为了解决程序控制I/O方法的主要问题813、DMA技术(1)中断的引入大大地提高了处理器处理I/O的效率当处理器和I/O间传送数据时,效率仍旧不高解决方法:直接存储器访问(DMA:DirectMemoryAccess)通过系统总线中一独立控制单元——DMA控制器自动控制成块数据在内存和I/O单元间的传送大大提高处理I/O的效能3、DMA技术(1)中断的引入大大地提高了处理器处理I/O的82DMA技术(2)当处理器需要读写一整块数据时给DMA控制单元发送一条命令包含:是否请求一次读或写,I/O设备的编址,开始读或写的主存编址,需要传送的数据长度等信息处理器发送完命令后就可处理其它事情DMA控制器将自动管理数据的传送当这个过程完成后,它会给处理器发一个中断处理器只在开始传送和传送结束时关注一下就可DMA技术(2)当处理器需要读写一整块数据时83处理器和DMA传送不完全并行有时会有总线竞争的情况发生处理器用总线时可能稍作等待不会引起中断不引起程序上下文的保存通常过程只有一个总线周期在DMA传送时,处理器访问总线速度会变慢对于大量数据I/O传送,DMA技术是很有价值DMA技术(3)处理器和DMA传送不完全并行DMA技术(3)84程序I/O中断I/ODMA程序I/O中断I/ODMA854、通道独立于中央处理器,专门负责数据I/O传输的处理机它对外设实现统一管理代替CPU对I/O操作进行控制使CPU和外设可以并行工作通道又称为I/O处理机引入通道的目的:为了使CPU从I/O事务中解脱出来同时为了提高CPU与设备、设备与设备之间的并行度4、通道独立于中央处理器,专门负责数据I/O传输的处理机86五、时钟(1)时钟为计算机完成以下必不可少的工作:在多道程序运行环境中,为系统发现陷入死循环(编程错误)的作业,防止机时的浪费在分时系统中,间隔时钟实现作业间按时间片轮转在实时系统中,按要求的间隔输出正确时间信号给实时的控制设备(如A/D、D/A转换设备)定时唤醒要求延迟执行的各外部事件(如定时为各进程计算优先数,银行中定时运行某类结账程序等)记录用户使用设备时间和记录某外部事件发生时间记录用户和系统所需要的绝对时间,即年、月、日五、时钟(1)时钟为计算机完成以下必不可少的工作:87时钟是操作系统运行的必不可少的硬件设施时钟,实际上都是硬件时钟寄存器,按时钟电路所产生的脉冲数对时钟寄存器进行加1或减1的工作绝对时钟:记录当时时间(年、月、日、时、分、秒)一般来说,绝对时钟准确,当停机时,绝对时钟值仍然自动修改间隔时钟(相对时钟):通过时钟寄存器实现置上时间间隔初值,每经过一个单位时间,时钟值减1,直到该值为负时,则触发时钟中断,并进行相应中断处理时钟(2)时钟是操作系统运行的必不可少的硬件设施时钟(2)88每个脉冲使计数器减1用来装入计数器初值每个脉冲使计数器减1用来装入计数器初值89硬件时钟:某个寄存器来模拟(根据脉冲频率定时加1,减1)软件时钟:用作相对时钟,用内存单元来模拟时钟CPU保护:防止进程得到CPU后不放弃控制权解决:分配给每个进程一段时间(时间片)时间片到,发时钟中断,控制权交给操作系统硬件时钟:某个寄存器来模拟90六、缓冲技术缓冲区是硬件设备之间进行数据传输时,用来暂存数据的一个存储区域缓冲技术三种用途:处理器与主存储器之间处理器和其它外部设备之间设备与设备之间的通信目的:解决部件之间速度不匹配的问题六、缓冲技术缓冲区是硬件设备之间进行数据传输时,用来暂存数据91总线总线92总线八种总线:缓存,局部,内存,PCI,SCSI,USB,IDE,ISA传输速度和功能总线八种总线:93第二章操作系统的硬件环境讨论操作系统对运行硬件环境的要求了解OS设计者所面对的硬件操作系统运行的硬件环境组成中央处理器(CPU)存储系统中断机制I/O系统时钟以及时钟队列缓冲技术总线第二章操作系统的硬件环境讨论操作系统对运行硬件环境的要求94概述任何系统软件都是硬件功能的延伸操作系统直接依赖于硬件条件OS的硬件环境以较分散的形式同各种管理相结合实现操作系统时必须理解的计算机基本结构操作系统管理的重要资源概述任何系统软件都是硬件功能的延伸95简单的个人计算机中的部件MonitorBus简单的个人计算机中的部件MonitorBus96一、中央处理器(CPU)专门设计了一系列基本机制:-具有特权级别的处理器状态,能在不同特权级运行的各种特权指令-硬件机制使得OS可以和普通程序隔离实现保护和控制一、中央处理器(CPU)专门设计了一系列基本机制:971、CPU的构成与基本工作方式处理器由运算器、控制器、一系列的寄存器以及高速缓存构成运算器实现指令中的算术和逻辑运算,是计算机计算的核心控制器负责控制程序运行的流程,包括取指令、维护CPU状态、CPU与内存的交互等等1、CPU的构成与基本工作方式处理器由运算器、控制器、一98寄存器是指令在CPU内部作处理的过程中暂存数据、地址以及指令信息的存储设备在计算机的存储系统中它具有最快的访问速度高速缓存处于CPU和物理内存之间一般由控制器中的内存管理单元(MMU:MemoryManagementUnit)管理访问速度快于内存,低于寄存器利用程序局部性原理使得高速指令处理和低速内存访问得以匹配,从而提高CPU的效率寄存器是指令在CPU内部作处理的过程中暂存数据、地址以及指令99处理器中的寄存器寄存器提供了一定的存储能力速度比主存快得多造价高,容量一般都很小两类寄存器:用户可见寄存器,高级语言编译器通过算法分配并使用之,以减少程序访问主存次数控制和状态寄存器,用于控制处理器的操作由OS的特权代码使用,以控制其它程序的执行处理器中的寄存器寄存器提供了一定的存储能力100用户可见寄存器机器语言直接引用包括数据寄存器、地址寄存器以及条件码寄存器数据寄存器(dataregister)又称通用寄存器主要用于各种算术逻辑指令和访存指令地址寄存器(addressregister)用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。如indexregister、segmentpointer、stackpointer条件码寄存器保存CPU操作结果的各种标记位如算术运算产生的溢出、符号等等用户可见寄存器机器语言直接引用101控制和状态寄存器用于控制处理器的操作大部分对于用户是不可见的一部分可以在某种特权模式(由OS使用)下访问常见的控制和状态寄存器:程序计数器(PC:ProgramCounter),记录将要取出的指令的地址指令寄存器(IR:InstructionRegister),包含最近取出的指令程序状态字(PSW:ProgramStatusWord),记录处理器的运行模式信息等等控制和状态寄存器用于控制处理器的操作102指令执行的基本过程(1)两个步骤:先从存储器中每次读取一条指令然后执行这条指令一个单条指令处理过程称为一个指令周期程序的执行是由不断取指和执行的指令周期组成仅当关机、出错或有停机相关指令时,程序才停止指令执行的基本过程(1)两个步骤:103每个指令周期开始时,依据在程序计数器中的指令地址从存储器中取一条指令在取指完成后根据指令类别自动将程序计数器的值变成下条指令的地址,自增1取到的指令放在指令寄存器中处理器解释并执行所要求的动作指令执行的基本过程(2)每个指令周期开始时,依据在程序计数器中的指令地址从存储器中取1045类指令访问存储器指令:处理器和存储器间数据传送I/O指令:处理器和I/O模块间数据传送和命令发送算术逻辑指令(数据处理指令):执行数据算术和逻辑操作控制转移指令:指定一个新的指令的执行起点处理器控制指令:修改处理器状态,改变处理器工作方式5类指令访问存储器指令:1052、特权指令和非特权指令特权指令:只能由操作系统使用的指令使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令特权指令一般引起处理器状态的切换
处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态)然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入•CPU如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识2、特权指令和非特权指令特权指令:只能由操作系统使用的指令1063、处理器的状态根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态多数系统将处理器工作状态划分为管态和目态管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、系统态目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态有些系统将处理器状态划分核心状态,管理状态和用户程序状态(目标状态)三种3、处理器的状态根据运行程序对资源和机器指令的使用权限将处理107实例:x86系列处理器(1)386、486、Pentium系列都支持4个处理器特权级别(特权环:R0、R1、R2和R3)从R0到R3特权能力依次降低R0相当于双状态系统的管态R3相当于目态R1和R2则介于两者之间,它们能够运行的指令集合具有包含关系:实例:x86系列处理器(1)386、486、Pentium系108各个级别有保护性检查(地址校验、I/O限制)特权级别之间的转换方式不尽相同四个级别运行不同类别的程序:R0-运行操作系统核心代码R1-运行关键设备驱动程序和I/O处理例程R2-运行其它受保护共享代码,如语言系统运行环境R3-运行各种用户程序现有基于x86处理器的操作系统,多数UNIX、Linux以及Windows系列大都只用了R0和R3两个特权级别实例:x86系列处理器(2)各个级别有保护性检查(地址校验、I/O限制)实例:x86系列109管态和目态的差别处理器处于管态时:全部指令(包括特权指令)可以执行可使用所有资源并具有改变处理器状态的能力处理器处于目态时:只有非特权指令能执行特权级别不同,可运行指令集合也不同特权级别越高,可以运行指令集合越大高特权级别对应的可运行指令集合包含低特权级的管态和目态的差别处理器处于管态时:1104、程序状态字PSW在PSW中专门设置一位,根据运行程序使用指令的权限而设置,PSW(ProgramStatusWord):CPU的工作状态码——指明管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力条件码——反映指令执行后的结果特征中断屏蔽码——指出是否允许中断4、程序状态字PSW在PSW中专门设置一位,根据运行程序使用111例:微处理器M68000的程序状态字条件位:C:进位标志位 V:溢出标志位Z:结果为零标志位 N:结果为负标志位I0–I2:三位中断屏蔽位S:CPU状态标志位,为1处于管态,为0处于目态T:陷阱(Trap)中断指示位为1,在下一条指令执行后引起自陷中断例:微处理器M68000的程序状态字条件位:112CPU状态的转换目态--管态其转换的唯一途径是通过中断管态--目态可用设置PSW(修改程序状态字)可实现CPU状态的转换目态--管态113二、存储系统支持OS运行硬件环境的一个重要方面:作业必须把它的程序和数据存放在内存中才能运行多道程系统中,若干个程序和相关的数据要放入主存储器操作系统要管理、保护程序和数据,使它们不至于受到破坏操作系统本身也要存放在主存储器中并运行
二、存储系统支持OS运行硬件环境的一个重要方面:1141、存储器的类型两类存储器:读写型的存储器只读型的存储器读写型的存储器可把数据存入其中任一地址单元,并可在以后的任何时候把数据读出,或者重新存入新的数据的一种存储器常被称为随机访问存储器(RAM:RandomAccessMemory)RAM主要用作存放随机存取的程序的数据1、存储器的类型两类存储器:读写型的存储器115只读型的存储器:只能从其中读取数据,但不能随意用普通方法写入数据(写入数据只能用特殊方法)称为只读存储器(ROM:Read-OnlyMemory)变型:PROM和EPROMPROM:一种可编程只读存储器,使用特殊PROM写入器写入数据EPROM:用特殊的紫外线光照射此芯片,以“擦去”信息,恢复原来状态,然后使用特殊EPROM写入器写入数据在微机中,一些常驻内存的模块以微程序形式固化在ROM中如:PCBIOS和CBASIC解释程序被固化于ROM中只读型的存储器:1162、存储器的层次结构存储系统设计三个问题:容量、速度和成本容量:需求无止境速度:能匹配处理器的速度成本问题:成本和其它部件相比应在合适范围之内2、存储器的层次结构存储系统设计三个问题:117容量、速度和成本三个目标不可能同时达到最优,要作权衡存取速度快,每比特价格高容量大,每比特价格越低,同时存取速度也越慢解决方案:采用层次化的存储体系结构当沿着层次下降时每比特的价格将下降,容量将增大速度将变慢,处理器的访问频率也将下降容量、速度和成本118层次化的存储体系结构层次化的存储体系结构119存储访问局部性原理提高存储系统效能关键点:程序存储访问局部性原理程序执行时,有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域处理器主要和存储器的局部打交道在经过一段时间以后,使用的代码和数据集合会改变存储访问局部性原理提高存储系统效能关键点:程序存储访问局部性120设计多级存储的体系结构原则:级别较低存储器比率小于级别较高存储器比率假设两级存储器: 第I级包含1KB,存取时间为0.1μs 第II级包含1MB,存取时间为1μs存取I级中的内容,直接存取存取II级,首先被转移到I级,然后再存取假设确定内容所在位置时间可以忽略若在I级存储器中发现存取对象的概率是95%,则平均访问时间为:结果非常接近I级存储的存取时间设计多级存储的体系结构原则:级别较低存储器比率小于级别较高存121T1:I级存储器的存取时间T2:II级存储器的存取时间一个简单二级存储系统的性能T1:I级存储器的存取时间一个简单二级存储系统的性能1223、存储分块存储最小单位:“二进位”,包含信息为0或1最小编址单位:字节,一个字节包含八个二进位主流个人电脑主存:128MB~512MB之间辅助存储器:在20GB~70GB工作站、服务器主存:512MB~4GB之间硬盘容量:数百GB为简化分配和管理,存储器分成块,称一个物理页(Page)块的大小:512B、1K、4K、8K3、存储分块存储最小单位:“二进位”,包含信息为0或11234、存储保护设施对主存中的信息加以严格的保护,使操作系统及其它程序不被破坏,是其正确运行的基本条件之一多用户,多任务操作系统:OS给每个运行进程分配一个存储区域问题:多个程序同时在同一台机器上运行怎样才能互不侵犯?4、存储保护设施对主存中的信息加以严格的保护,使操作系统及其124保护的硬件支持为了保证软件程序只影响程序的内部硬件可提供如下功能:界地址寄存器(界限寄存器)存储键地址转换保护的硬件支持为了保证软件程序只影响程序的内部125界地址寄存器(界限寄存器)界地址寄存器被广泛使用的一种存储保护技术机制比较简单,易于实现实现方法:在CPU中设置一对下限寄存器和上限寄存器存放用户作业在主存中的下限和上限地址也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度)每当CPU要访问主存,硬件自动将被访问的主存地址与界限寄存器的内容进行比较,以判断是否越界如果未越界,则按此地址访问主存,否则将产生程序中断——越界中断(存储保护中断)界地址寄存器(界限寄存器)界地址寄存器被广泛使用的一种存储保126界地址寄存器存储保护技术界地址寄存器127存储键每个存储块有一个由二进位组成的存储保护键一用户作业被允许进入主存,OS分给它一个唯一的存储键号并将分配给该作业各存储块存储键也置成同样键号当OS挑选该作业运行时,OS将它的存储键号放入程序状态字PSW存储键(“钥匙”)域中每当CPU访问主存时,都将该主存块的存储键与PSW中的“钥匙”进行比较如果相匹配,则允许访问,否则,拒绝并报警存储键每个存储块有一个由二进位组成的存储保护键128地址转换同时有多个程序在内存程序在内存的位置不是固定的而是随机的地址转换同时有多个程序在内存129CPUTranslationBox(MMU)虚拟地址物理地址物理空间数据读或写(不需转换)现代体系结构中的地址转换CPUTranslation虚拟地址物理地址物理空间数据读130codedataheapstack程序2虚地址空间data2stack1code1heap1code2stack2data1heap2OScodeOSdataOSheap&stacks程序1虚地址空间codedataheapstack内存地址转换code程序2data2程序1code内存地址转换131三、中断技术中断对于操作系统的重要性就像机器中的驱动齿轮一样所以有人把操作系统称为是由“中断驱动”或者“(中断)事件驱动”三、中断技术中断对于操作系统的重要性132中断机制
中断机制是操作系统得以正常工作的最重要的手段它使得OS可以捕获普通程序发出的系统功能调用及时处理设备的中断请求防止用户程序中破坏性的活动等等中断机制中断机制是操作系统得以正常工作的最重要的手段133什么是中断?指CPU对系统中或系统外发生异步事件的响应异步事件是指无一定时序关系的随机发生事件如外部设备完成数据传输,实时设备出现异常等“中断”名称源于:当异步事件发生后,打断了对当前程序的执行而转去处理该异步事件直到处理完了后,再转回原程序中断点继续执行1、中断的概念什么是中断?1、中断的概念134中断定义CPU对系统发生的某个事件作出的一种反应CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序中断定义CPU对系统发生的某个事件作出的一种反应135从用户角度看中断从用户角度看中断136引入中断的目的解决主机与外设的并行工作问题提高可靠性实现多机联系实现实时控制特点:1)中断是随机的2)中断是可恢复的3)中断是自动处理的引入中断的目的137中断源:引起中断发生的事件中断寄存器:记录中断中断字:中断寄存器的内容系统堆栈:
在内存开辟的一块区域,用于临时保存现场中断系统的概念中断源:引起中断发生的事件中断系统的概念138中断类型(1)强迫性中断正在运行的程序所不期望的,由于某种硬件故障或外部请求引起的自愿性中断用户在程序中有意识安排的中断,是由于用户在编制程序时因为要求操作系统提供服务,有意使用“访管”指令或系统调用,使中断发生中断类型(1)强迫性中断139中断类型(2)强迫性中断的类型输入/输出(I/O)中断:主要来自外部设备通道程序性中断:运行程序中本身的中断(如溢出,缺页中断,缺段中断,地址越界)时钟中断控制台中断硬件故障中断类型(2)强迫性中断的类型140中断类型(3)自愿性中断执行I/O创建进程分配内存信号量操作,发送/接收消息中断类型(3)自愿性中断141微机中的中断1.可屏蔽中断(IO中断)2.不可屏蔽中断(机器内部故障、掉电中断)3.程序错误中断(溢出、除法错等中断)4.软件中断(Trap指令或中断指令INT)微机中的中断142IBM370中的中断1.机器故障中断:如电源故障,机器电路检验错等2.输入输出中断:输入输出设备和通道数据传输状态)3.外部中断:时钟中断,操作员控制台中断,多机系统中其它机器的通信要求中断,各种外设或传感器发来的实时中断等4.程序中断:程序中的问题引起的中断,如错误地使用指令或数据、溢出等问题,存储保护等5.访管中断:访管指令或陷阱指令(Trap指令)中的操作数规定了要求服务的类型。每当CPU执行访管指令或陷阱指令时,即引起中断并调用操作系统相应的功能模块为其服务IBM370中的中断1.机器故障中断:如电源故障,机器电路1432、中断系统中断系统的两大组成部分:硬件中断装置和软件中断处理程序中断系统的硬件中断装置-中断系统的机制部分负责捕获中断源发出的中断请求,以一定方式响应中断源,然后将处理器控制权交给特定的中断处理程序软件中断处理程序-中断系统的策略部分负责辨别中断类型并做出相应的操作2、中断系统中断系统的两大组成部分:硬件中断装置和软件中断处144中断装置的基本功能提供识别中断源的方法提供查询中断状态的方法,通常使用一个寄存器存储有关中断的状态信息,称为中断字提供中断现场保护的能力提供中断处理程序寻址能力,找到恰当的中断处理程序具有预定义的系统控制栈和中断处理程序入口地址映射表(中断向量表)等数据结构和它们在主存中的位置,以辅助OS定制中断处理策略和中断调度机制中断装置的基本功能提供识别中断源的方法1453、中断逻辑与中断寄存器(1)如何接受和响应中断源的中断请求,因机器而异如,在PC中:有可屏蔽的中断请求INTR:主要是输入输出设备的I/O中断,通过建立在PSW中的中断屏蔽位加以屏蔽,即使再有I/O中断,处理器也不响应不可屏蔽的中断请求:属于机器故障中断,包括内存奇偶校验错以及掉电等中断源程序中的问题所引起的中断(如溢出、除法错都可以引起中断)和软件中断等由于可能有很多中断源请求同时发生由中断逻辑按中断优先级加以判定响应哪个中断请求3、中断逻辑与中断寄存器(1)如何接受和响应中断源的中断请求146中断寄存器:有的计算机中,为了区分和不丢失中断信号对应每个中断源分别用一固定触发器寄存中断信号规定值为1时,表示有中断信号,为0时表示无这些触发器的全体称为中断寄存器每个触发器称为一个中断位所以中断寄存器是由若干个中断位组成中断逻辑与中断寄存器(2)中断寄存器:中断逻辑与中断寄存器(2)147处理器如何发现中断信号?处理器的控制部件中设一个能检测中断的机构称为中断扫描机构在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号若无中断信号,继续执行下一条指令若有中断,中断硬件将该中断触发器内容按规定编码送入PSW的相应位,称为中断码中断逻辑与中断寄存器(3)处理器如何发现中断信号?中断逻辑与中断寄存器(3)1484、多级中断和中断屏蔽多级中断:多数微型处理器有着多级中断系统,可以有多根中断请求线(级)从不同设备连接到中断逻辑如M68000有七级,PDP11有11级具有相同特性和优先级的设备可连到同一中断级上中断优先级:在多级中断系统中,可能同时有多个中断请求,CPU接受中断优先级为最高的那个中断忽略其中断优先级较低的那些中断4、多级中断和中断屏蔽多级中断:1495、中断响应
CPU如何响应中断,两个问题:
CPU何时响应中断?通常在CPU执行了一条指令以后,更确切地,在指令周期最后时刻接受中断请求,或此时扫描中断寄存器如何知道提出中断请求的设备或中断源?因为只有知道中断源或中断设备,才能调用相应的中断处理程序5、中断响应 CPU如何响应中断,两个问题:150开始取下一条指令执行指令检查指令处理中断停止取周期执行周期中断周期不允许中断允许中断开始取下一条指令执行指令检查指令停止取周期执行周期中断周期不151用软件指令去查询各设备接口这种方法比较费时多数微型机对此问题的解决方法:使用一种“向量中断”的硬件设施“向量中断”:当CPU接受某中断请求时,该设备接口给处理器发送具有唯一性的“中断向量”,以标识该设备“中断向量”在各计算机上实现方法差别比较大两种解决方法
用软件指令去查询各设备接口两种解决方法 152中断向量表在有的机器中:将主存最低位128个字保留作为中断向量表,每个中断向量占两个字中断请求的设备接口为了标识自己,向处理器发送一个该设备在中断向量表中表目的地址指针中断向量表在有的机器中:153中断优先级在一些机器中,中断优先级按中断类型划分:以机器故障中断的优先级最高程序中断和访问管理程序中断次之外部中断更次之输入输出的优先级最低中断优先级在一些机器中,中断优先级按中断类型划分:154中断屏蔽在CPU上运行的程序,有时由于种种原因,不希望其在执行过程中被别的事件所中断,称为中断屏蔽在PSW中设置中断屏蔽码以屏蔽某些指定的中断类型如果其PSW的中断禁止位建立后,则屏蔽中断(不包括不可屏蔽的那些中断)如果PSW中的中断禁止位未建立则可以接受其中断优先级高于运行程序中断优先级的那些中断各设备接口中也有中断禁止位,以禁止该设备的中断中断屏蔽在CPU上运行的程序,有时由于种种原因,不希望其在执1556、中断处理(1)简单的中断处理-典型的处理过程:(1)设备给处理器发一个中断信号(2)处理器处理完当前指令后响应中断,延迟非常短(要求处理器没有关闭中断)(3)处理器处理完当前指令后检测到中断,判断出中断来源并向发送中断的设备发送了确认中断信号,确认信号使得该设备将中断信号恢复到一般状态(4)处理器开始为软件处理中断做准备:保存中断点的程序执行上下文环境,这通常包括程序状态字PSW,程序计数器PC中的下一条指令位置,一些寄存器的值,它们通常保存在系统控制栈中,处理器状态被切换到管态6、中断处理(1)简单的中断处理-典型的处理过程:156(5)处理器根据中断源查询中断向量表,获得与该中断相联系的处理程序入口地址,并将PC置成该地址,处理器开始一个新的指令周期,控制转移到中断处理程序(6)中断处理程序开始工作,包括检查I/O相关的状态信息,操纵I/O设备或者在设备和主存之间传送数据等等(7)中断处理结束时,处理器检测到中断返回指令,被中断程序的上下文环境从系统堆栈中被恢复处理器状态恢复成原来的状态。(8)PSW和PC被恢复成中断前的值,处理器开始一个新的指令周期,中断处理结束中断处理(2)(5)处理器根据中断源查询中断向量表,获得与该中断相联系的处157简单的中断处理过程简单的中断处理过程158多个中断的处理(1)若中断处理过程中又发生中断,引起多中断处理问题两种策略方法:第一种:处理一个中断时禁止中断,对任何新中断置之不理,在这期间发生的中断将保持挂起状态当再次允许中断时,新中断信号被处理器检测到软件实现方法:在任何中断处理前使用禁止中断指令在处理结束后开放中断指令所有中断严格按照发生顺序处理不考虑中断紧急程度,无法达到较严格时间要求多个中断的处理(1)若中断处理过程中又发生中断,引起多中断处159多中断处理第一种策略方法多中断处理第一种策略方法160第二种:中断按照优先度分级允许优先级高中断打断优先级低的中断处理过程这样中断优先级技术将引起中断处理的嵌套只要合适地定义中断的优先级别方法一的弊端大都可以克服多个中断的处理(2)第二种:多个中断的处理(2)161多中断处理第二种策略方法多中断处理第二种策略方法162典型的中断处理(1):I/O中断由I/O设备的控制器或者通道发出两类I/O中断:I/O操作正常结束如果要继续I/O操作,需要在准备好以后重新启动I/O,若请求I/O程序正处于等待I/O状态,则应将其唤醒I/O异常需要重新执行失败的I/O操作重试次数有上限,次数过大,系统将判定硬件故障典型的中断处理(1):I/O中断由I/O设备的控制器或者通道163系统多道能力的重要推动力量,时钟中断处理程序通常做与系统运转、管理和维护相关的工作,包括:维护软件时钟:系统有若干个软件时钟,控制定时任务以及进程的处理器时间配额,时钟中断需要维护、定时更新这些软件时钟处理器时间调度:维护当前进程时间片软件时钟,并在当前进程时间片到时以后运行调度程序选择下一个被调度的进程控制系统定时任务:通过软件时钟和调度程序定时激活一些系统任务,如监测死锁、系统记帐、系统审计等实时处理典型的中断处理(2):时钟中断系统多道能力的重要推动力量,时钟中断处理程序通常做与系统运转164典型的中断处理(3):硬件故障中断硬件故障中断处理程序一般需要做的工作:保存现场,使用一定警告手段,提供些辅助诊断信息在高可靠系统中,中断处理程序还要评估系统可用性,尽可能恢复系统如Windows2000/XP,关键硬件发生故障时,如显示卡损坏,出现系统蓝屏,系统实际上进入相应故障处理程序,发现故障不可恢复,则在屏幕上打印出发生故障时程序位置,并开始进行内存转储(将一定范围的内存内容写上磁盘,是系统故障时的全系统“快照”),备日后故障诊断典型的中断处理(3):硬件故障中断硬件故障中断处理程序一165程序指令出错、指令越权或者指令寻址越界而引发两类处理方法:只能由操作系统的相关扩展功能模块完成多为程序试图作不能做的操作引起的系统保护如访问合法的、但不在内存虚地址内,引发页故障页故障一般会引发OS虚存模块作一个页面换入可由程序自己完成,如一些算术运算错误不同程序可有不同处理方法,所以很多OS提供由用户自己处理这类中断的“绿色通道”系统调试中断(断点中断、单步跟踪)也可被用户程序处理,用以支持各种程序调试典型的中断处理(4):程序性中断程序指令出错、指令越权或者指令寻址越界而引发典型的中断处理(166典型的中断处理(5):系统服务请求(自愿性中断)系统服务请求由处理器专用指令(访管指令)激发如x86处理器提供int指令,用来激发软件中断其他不少处理器则提供系统调用指令syscall执行专用指令的结果是系统被切换到管态,并且转移到一段专门OS程序处开始执行指令格式通常是指令名加请求服务识别号(中断号)OS利用处理器提供的这种接口建立系统服务体系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 围产期心肌病妊娠晚期心功能不全产科处理方案
- 卵巢尼拉帕利序贯贝伐珠单抗治疗策略
- 医院运营:患者流量与人力资源匹配优化
- 医院运营成本管控与科室绩效的平衡优化
- 医院药事服务成本优化路径
- EPC项目重点部位质量保证措施
- 医院服务流程再造成功关键要素研究
- 医院战略成本管控长效机制
- 医院成本管控风险预警机制构建
- DB14T 2353-2021 设施架豆生产技术规程
- 中医病证诊断疗效
- GB/T 2970-2016厚钢板超声检测方法
- 智能农业实验报告
- GB/T 23445-2009聚合物水泥防水涂料
- 人工神经网络HOPFIELD神经网络
- 中小学生励志主题班会课件《告诉你孩子:几年的放纵-换来的是一生卑微和坎坷》
- 2022年山东司法警官职业学院单招综合素质考试笔试试题及答案解析
- 022pet热灌装饮料生产工艺及品质控制
- (完整版)英语高频词汇800词
- 墙板安装工艺流程
- 三年级下册语文教案- 习作八 这样想象真有趣 人教部编版
评论
0/150
提交评论