操作系统原理chap02.ppt

上传人:qwe****56 文档编号:70278678 上传时间:2023-01-18 格式:PPT 页数:94 大小:731.50KB
返回 下载 相关 举报
操作系统原理chap02.ppt_第1页
第1页 / 共94页
操作系统原理chap02.ppt_第2页
第2页 / 共94页
点击查看更多>>
资源描述

《操作系统原理chap02.ppt》由会员分享,可在线阅读,更多相关《操作系统原理chap02.ppt(94页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第二二章章 操作系统的硬件环境操作系统的硬件环境讨论操作系统对运行硬件环境的要求讨论操作系统对运行硬件环境的要求 了解了解OS设计者所面对的硬件设计者所面对的硬件n操作系统运行的硬件环境组成操作系统运行的硬件环境组成n中央处理器(中央处理器(CPUCPU)n存储系统存储系统n中断机制中断机制nI/O系统系统n时钟以及时钟队列时钟以及时钟队列n缓冲技术缓冲技术n总线总线概述概述任何系统软件都是硬件功能的延伸任何系统软件都是硬件功能的延伸操作系统直接依赖于硬件条件操作系统直接依赖于硬件条件OS的硬件环境的硬件环境以较分散的形式同各种管理相结合以较分散的形式同各种管理相结合 实现操作系统时必须理解

2、的实现操作系统时必须理解的 计算机基本结构计算机基本结构 操作系统管理的重要资源操作系统管理的重要资源简单的个人计算机中的部件简单的个人计算机中的部件MonitorBus一、中央处理器(一、中央处理器(CPU)专门设计了一系列基本机制:专门设计了一系列基本机制:-具有特权级别的处理器状态,能在不同特权级具有特权级别的处理器状态,能在不同特权级运行的各种特权指令运行的各种特权指令-硬件机制使得硬件机制使得OSOS可以和普通程序隔离可以和普通程序隔离 实现保护和控制实现保护和控制1、CPU的构成与基本工作方式的构成与基本工作方式 处理器由运算器、控制器、一系列的寄存器以处理器由运算器、控制器、一系

3、列的寄存器以及高速缓存构成及高速缓存构成n运算器实现指令中的算术和逻辑运算,是计算运算器实现指令中的算术和逻辑运算,是计算机计算的核心机计算的核心n控制器负责控制程序运行的流程,包括取指令、控制器负责控制程序运行的流程,包括取指令、维护维护CPUCPU状态、状态、CPUCPU与内存的交互等等与内存的交互等等n寄存器是指令在寄存器是指令在CPUCPU内部作处理的过程中暂存数据、内部作处理的过程中暂存数据、地址以及指令信息的存储设备地址以及指令信息的存储设备 在计算机的存储系统中它具有最快的访问速度在计算机的存储系统中它具有最快的访问速度n高速缓存处于高速缓存处于CPUCPU和物理内存之间和物理内

4、存之间 一般由控制器中的内存管理单元(一般由控制器中的内存管理单元(MMUMMU:Memory Memory Management UnitManagement Unit)管理管理 访问速度快于内存,低于寄存器访问速度快于内存,低于寄存器 利用程序局部性原理使得高速指令处理和低速内存利用程序局部性原理使得高速指令处理和低速内存访问得以匹配,从而提高访问得以匹配,从而提高CPUCPU的效率的效率处理器中的寄存器处理器中的寄存器n寄存器提供了一定的存储能力寄存器提供了一定的存储能力n速度比主存快得多速度比主存快得多n造价高,容量一般都很小造价高,容量一般都很小两类寄存器:两类寄存器:n用户可见寄存

5、器,高级语言编译器通过算法分用户可见寄存器,高级语言编译器通过算法分配并使用之,以减少程序访问主存次数配并使用之,以减少程序访问主存次数n控制和状态寄存器,用于控制处理器的操作控制和状态寄存器,用于控制处理器的操作 由由OS的的特权代码使用特权代码使用,以控制其它程序的执行以控制其它程序的执行用户可见寄存器用户可见寄存器n机器语言直接引用机器语言直接引用n包括数据寄存器、地址寄存器以及条件码寄存器包括数据寄存器、地址寄存器以及条件码寄存器n数据寄存器数据寄存器(data register)又称通用寄存器又称通用寄存器 主要用于各种算术逻辑指令和访存指令主要用于各种算术逻辑指令和访存指令n地地址

6、址寄寄存存器器(address register)用用于于存存储储数数据据及及指指令令的的物物理理地地址址、线线性性地地址址或或者者有有效效地地址址,用用于于某某种种特特定定方方式式的的寻寻址址。如如index register、segment pointer、stack pointern条件码寄存器保存条件码寄存器保存CPU操作结果的各种标记位操作结果的各种标记位 如算术运算产生的溢出、符号等等如算术运算产生的溢出、符号等等控制和状态寄存器控制和状态寄存器n用于控制处理器的操作用于控制处理器的操作n大部分对于用户是不可见的大部分对于用户是不可见的n一部分可以在某种特权模式(由一部分可以在某种

7、特权模式(由OS使用)下访问使用)下访问常见的控制和状态寄存器常见的控制和状态寄存器:n程程序序计计数数器器(PC:Program Counter),记记录录将将要要取取出出的的指令的地址指令的地址n指指令令寄寄存存器器(IR:Instruction Register),包包含含最最近近取取出出的的指令指令n程程序序状状态态字字(PSW:Program Status Word),记记录录处处理理器器的运行模式信息等等的运行模式信息等等指令执行的基本过程指令执行的基本过程(1)两个步骤:两个步骤:n先从存储器中每次读取一条指令先从存储器中每次读取一条指令n然后执行这条指令然后执行这条指令一个单条

8、指令处理过程称为一个指令周期一个单条指令处理过程称为一个指令周期程序的执行是由不断取指和执行的指令周期组成程序的执行是由不断取指和执行的指令周期组成仅当关机、出错或有停机相关指令时,程序才停止仅当关机、出错或有停机相关指令时,程序才停止n每个指令周期开始时,依据在程序计数器中的每个指令周期开始时,依据在程序计数器中的指令地址从存储器中取一条指令指令地址从存储器中取一条指令n在取指完成后根据指令类别自动将程序计数器在取指完成后根据指令类别自动将程序计数器的值变成下条指令的地址,自增的值变成下条指令的地址,自增1 1n取到的指令放在指令寄存器中取到的指令放在指令寄存器中n处理器解释并执行所要求的动

9、作处理器解释并执行所要求的动作指令执行的基本过程指令执行的基本过程(2)5类指令类指令n访问存储器指令:访问存储器指令:处理器和存储器间数据传送处理器和存储器间数据传送nI/O指令:指令:处理器和处理器和I/O模块间数据传送和命令发送模块间数据传送和命令发送n算术逻辑指令(数据处理指令):算术逻辑指令(数据处理指令):执行数据算术和逻辑操作执行数据算术和逻辑操作n控制转移指令:控制转移指令:指定一个新的指令的执行起点指定一个新的指令的执行起点n处理器控制指令:处理器控制指令:修改处理器状态,改变处理器工作方式修改处理器状态,改变处理器工作方式2、特权指令和非特权指令、特权指令和非特权指令特权指

10、令:只能由操作系统使用的指令特权指令:只能由操作系统使用的指令n使用多道程序设计技术的计算机指令系统必须要区分为特权使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令指令和非特权指令n特权指令一般引起处理器状态的切换特权指令一般引起处理器状态的切换n 处理器通过特殊的机制将处理器状态切换到操作系统运处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态)行的特权状态(管态)n 然后将处理权移交给操作系统中的一段特殊代码,这一然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入个过程称为陷入 CPUCPU如何知道当前运行的是操作系统还是一般应用软件?有如何

11、知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识赖于处理器状态的标识3、处理器的状态、处理器的状态根根据据运运行行程程序序对对资资源源和和机机器器指指令令的的使使用用权权限限将将处处理理器器设设置为不同状态置为不同状态多数系统将处理器工作状态划分为管态和目态多数系统将处理器工作状态划分为管态和目态管管态态:操操作作系系统统管管理理程程序序运运行行的的状状态态,较较高高的的特特权权级级别别,又称为特权态(特态)、系统态又称为特权态(特态)、系统态目目态态:用用户户程程序序运运行行时时的的状状态态,较较低低的的特特权权级级别别,又又称称为普通态(普态)、用户态为普通态(普态)、用户

12、态有有些些系系统统将将处处理理器器状状态态划划分分核核心心状状态态,管管理理状状态态和和用用户户程序状态(目标状态)三种程序状态(目标状态)三种实例:实例:x86系列处理器(系列处理器(1)n386、486、Pentium系列都支持系列都支持4个处理器特权个处理器特权级别(特权环:级别(特权环:R0、R1、R2和和R3)n从从R0到到R3特权能力依次降低特权能力依次降低nR0相当于双状态系统的管态相当于双状态系统的管态nR3相当于目态相当于目态nR1和和R2则介于两者之间,它们能够运行的指则介于两者之间,它们能够运行的指令集合具有包含关系:令集合具有包含关系:各个级别有保护性检查(地址校验、各

13、个级别有保护性检查(地址校验、I/O限制)限制)特权级别之间的转换方式不尽相同特权级别之间的转换方式不尽相同四个级别运行不同类别的程序:四个级别运行不同类别的程序:nR0-运行操作系统核心代码运行操作系统核心代码nR1-运行关键设备驱动程序和运行关键设备驱动程序和I/O处理例程处理例程nR2-运行其它受保护共享代码,如语言系统运行环境运行其它受保护共享代码,如语言系统运行环境nR3-运行各种用户程序运行各种用户程序现有基于现有基于x86处理器的操作系统,多数处理器的操作系统,多数UNIX、Linux以及以及Windows系列大都只用了系列大都只用了R0和和R3两个特权级别两个特权级别实例:实例

14、:x86系列处理器(系列处理器(2)管态和目态的差别管态和目态的差别处理器处于管态时:处理器处于管态时:n全部指令(包括特权指令)可以执行全部指令(包括特权指令)可以执行n可使用所有资源可使用所有资源n并具有改变处理器状态的能力并具有改变处理器状态的能力处理器处于目态时:处理器处于目态时:n只有非特权指令能执行只有非特权指令能执行特权级别不同,可运行指令集合也不同特权级别不同,可运行指令集合也不同特权级别越高,可以运行指令集合越大特权级别越高,可以运行指令集合越大高特权级别对应的可运行指令集合包含低特权级的高特权级别对应的可运行指令集合包含低特权级的4、程序状态字、程序状态字PSW在在PSW中

15、专门设置一位,根据运行程序使用指令的中专门设置一位,根据运行程序使用指令的权限而设置,权限而设置,PSW(Program Status Word):nCPU的的工工作作状状态态码码指指明明管管态态还还是是目目态态,用用来来说说明明当当前前在在CPU上上执执行行的的是是操操作作系系统统还还是是一一般般用用户户,从从而而决决定定其其是是否否可可以以使使用用特特权权指指令令或或拥拥有有其其它的特殊权力它的特殊权力n条件码条件码反映指令执行后的结果特征反映指令执行后的结果特征n中断屏蔽码中断屏蔽码指出是否允许中断指出是否允许中断例例:微处理器微处理器M68000的程序状态字的程序状态字条件位:条件位:

16、C:进位标志位进位标志位 V:溢出标志位溢出标志位Z:结果为零标志位结果为零标志位N:结果为负标志位结果为负标志位I0 I2:三位中断屏蔽位三位中断屏蔽位S:CPU状态标志位,为状态标志位,为1处于管态,为处于管态,为0处于目态处于目态T:陷阱陷阱(Trap)中断指示位为中断指示位为1,在下一条指令执行后引起自陷中断在下一条指令执行后引起自陷中断CPU状态的转换状态的转换目态目态-管态管态 其转换的唯一途径是通过中断其转换的唯一途径是通过中断管态管态-目态目态 可用设置可用设置PSW(PSW(修改程序状态字修改程序状态字)可实现可实现二、二、存储系统存储系统支持支持OS运行硬件环境的一个重要方

17、面:运行硬件环境的一个重要方面:n作业必须把它的程序和数据存放在内存中才能运行作业必须把它的程序和数据存放在内存中才能运行n多道程系统中,若干个程序和相关的数据要放入主存多道程系统中,若干个程序和相关的数据要放入主存储器储器n操作系统要管理、保护程序和数据,使它们不至于受操作系统要管理、保护程序和数据,使它们不至于受到破坏到破坏n操作系统本身也要存放在主存储器中并运行操作系统本身也要存放在主存储器中并运行 1、存储器的类型存储器的类型两类存储器:读写型的存储器两类存储器:读写型的存储器 只读型的存储器只读型的存储器读写型的存储器读写型的存储器n可可把把数数据据存存入入其其中中任任一一地地址址单

18、单元元,并并可可在在以以后后的的任任何何时时候候把把数数据据读读出出,或或者者重重新新存存入入新新的的数数据的一种存储器据的一种存储器n常常被被称称为为随随机机访访问问存存储储器器(RAM:Random Access Memory)nRAM主要用作存放随机存取的程序的数据主要用作存放随机存取的程序的数据只读型的存储器只读型的存储器:n只能从其中读取数据,但不能随意用普通方法写入数据(写只能从其中读取数据,但不能随意用普通方法写入数据(写入数据只能用特殊方法)入数据只能用特殊方法)n称为只读存储器称为只读存储器(ROM:Read-Only Memory)变型变型:PROM和和EPROMnPROM

19、:一种可编程只读存储器,使用特殊一种可编程只读存储器,使用特殊PROM写入器写写入器写入数据入数据nEPROM:用特殊的紫外线光照射此芯片,以用特殊的紫外线光照射此芯片,以“擦去擦去”信息,信息,恢复原来状态,然后使用特殊恢复原来状态,然后使用特殊EPROM写入器写入数据写入器写入数据在微机中,一些常驻内存的模块以微程序形式固化在在微机中,一些常驻内存的模块以微程序形式固化在ROM中中如如:PC BIOS和和CBASIC解释程序被固化于解释程序被固化于ROM中中2、存储器的层次结构、存储器的层次结构存储系统设计三个问题:存储系统设计三个问题:容量、速度和成本容量、速度和成本n容量:需求无止境容

20、量:需求无止境n速度:能匹配处理器的速度速度:能匹配处理器的速度n成本问题:成本和其它部件相比应在合适范围成本问题:成本和其它部件相比应在合适范围之内之内容量、速度和成本容量、速度和成本n三个目标不可能同时达到最优,要作权衡三个目标不可能同时达到最优,要作权衡n存取速度快,每比特价格高存取速度快,每比特价格高n容量大,每比特价格越低,同时存取速度也越慢容量大,每比特价格越低,同时存取速度也越慢解决方案:采用层次化的存储体系结构解决方案:采用层次化的存储体系结构n当沿着层次下降时当沿着层次下降时n每比特的价格将下降,容量将增大每比特的价格将下降,容量将增大n速度将变慢,处理器的访问频率也将下降速

21、度将变慢,处理器的访问频率也将下降层次化的存储体系结构层次化的存储体系结构存储访问局部性原理存储访问局部性原理提高存储系统效能关键点:程序存储访问局部性原理提高存储系统效能关键点:程序存储访问局部性原理n程序执行时,有很多的循环和子程序调用,一旦进入程序执行时,有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合这样的程序段,就会重复存取相同的指令集合n对数据存取也有局部性,在较短的时间内,稳定地保对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域持在一个存储器的局部区域处理器主要和存储器的局部打交道处理器主要和存储器的局部打交道在经过一段时间以后,使

22、用的代码和数据集合会改变在经过一段时间以后,使用的代码和数据集合会改变设计多级存储的体系结构设计多级存储的体系结构原则:级别较低存储器比率小于级别较高存储器比率原则:级别较低存储器比率小于级别较高存储器比率假设两级存储器:假设两级存储器:n第第I I级包含级包含1KB1KB,存取时间为存取时间为0.10.1ssn第第IIII级包含级包含1MB1MB,存取时间为存取时间为1 1ss存取存取I I级中的内容,直接存取级中的内容,直接存取存取存取IIII级,首先被转移到级,首先被转移到I I级,然后再存取级,然后再存取假设确定内容所在位置时间可以忽略假设确定内容所在位置时间可以忽略若若在在I I级级

23、存存储储器器中中发发现现存存取取对对象象的的概概率率是是95%95%,则则平平均均访访问时间为:问时间为:结果非常接近结果非常接近I I级存储的存取时间级存储的存取时间T1T1:I I级存储器的存取时间级存储器的存取时间T2T2:IIII级存储器的存取时间级存储器的存取时间一个简单二级存储系统的性能一个简单二级存储系统的性能3、存储分块、存储分块n存储最小单位存储最小单位:“:“二进位二进位”,包含信息为,包含信息为0 0或或1 1n最小编址单位最小编址单位:字节,一个字节包含八个二进位字节,一个字节包含八个二进位主流个人电脑主流个人电脑n主存主存:128MB:128MB512MB512MB之

24、间之间n辅助存储器辅助存储器:在在20GB20GB70GB70GB工作站、服务器工作站、服务器n主存主存:512MB:512MB 4GB4GB之间之间n硬盘容量硬盘容量:数百数百GBGB为为简简化化分分配配和和管管理理,存存储储器器分分成成块块,称称一一个个物物理理页页(PagePage)n块的大小:块的大小:512B512B、1K1K、4K4K、8K8K4 4、存储保护设施、存储保护设施对主存中的信息加以严格的保护,使操作系统及其对主存中的信息加以严格的保护,使操作系统及其它程序不被破坏,是其正确运行的基本条件之一它程序不被破坏,是其正确运行的基本条件之一多用户多用户,多任务操作系统:多任务

25、操作系统:OSOS给每个运行进程分配一个存储区域给每个运行进程分配一个存储区域问题:问题:多个程序同时在同一台机器上运行多个程序同时在同一台机器上运行 怎样才能互不侵犯?怎样才能互不侵犯?保护的硬件支持保护的硬件支持为了保证软件程序只影响程序的内部为了保证软件程序只影响程序的内部 硬件可提供如下功能:硬件可提供如下功能:n界地址寄存器(界限寄存器)界地址寄存器(界限寄存器)n存储键存储键n地址转换地址转换界地址寄存器(界限寄存器)界地址寄存器(界限寄存器)n界地址寄存器被广泛使用的一种存储保护技术界地址寄存器被广泛使用的一种存储保护技术n机制比较简单,易于实现机制比较简单,易于实现实现方法:实

26、现方法:n在在CPUCPU中设置一对下限寄存器和上限寄存器中设置一对下限寄存器和上限寄存器 存放用户作业在主存中的下限和上限地址存放用户作业在主存中的下限和上限地址n也可将一个寄存器作为基址寄存器,另一寄存器作为也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度)限长寄存器(指示存储区长度)n每当每当CPUCPU要访问主存,硬件自动将被访问的主存地址与要访问主存,硬件自动将被访问的主存地址与界限寄存器的内容进行比较,以判断是否越界界限寄存器的内容进行比较,以判断是否越界n如果未越界,则按此地址访问主存,否则将产生程序如果未越界,则按此地址访问主存,否则将产生程序中断中断越

27、界中断(存储保护中断)越界中断(存储保护中断)界地址寄存器界地址寄存器存储保护技术存储保护技术存储键存储键n每个存储块有一个由二进位组成的存储保护键每个存储块有一个由二进位组成的存储保护键n一一用用户户作作业业被被允允许许进进入入主主存存,OSOS分分给给它它一一个个唯唯一的存储键号一的存储键号n并并将将分分配配给给该该作作业业各各存存储储块块存存储储键键也也置置成成同同样样键号键号n当当OSOS挑挑选选该该作作业业运运行行时时,OSOS将将它它的的存存储储键键号号放放入程序状态字入程序状态字PSWPSW存储键(存储键(“钥匙钥匙”)域中)域中n每每当当CPUCPU访访问问主主存存时时,都都将

28、将该该主主存存块块的的存存储储键键与与PSWPSW中的中的“钥匙钥匙”进行比较进行比较n如果相匹配,则允许访问,否则,拒绝并报警如果相匹配,则允许访问,否则,拒绝并报警地址转换地址转换同时有多个程序在内存同时有多个程序在内存程序在内存的位置不是固定的而是随机的程序在内存的位置不是固定的而是随机的CPUTranslation Box (MMU)虚拟地址虚拟地址物理地址物理地址物理空间物理空间数据读或写数据读或写(不需转换)(不需转换)现代体系结构中的地址转换现代体系结构中的地址转换codedataheapstack程序2虚地址空间data2stack1code1heap1code2stack2d

29、ata1heap2OS codeOS dataOS heap&stacks程序 1虚地址空间codedataheapstack内存内存地址转换地址转换三、三、中断技术中断技术中断对于操作系统的重要性中断对于操作系统的重要性 就像机器中的驱动齿轮一样就像机器中的驱动齿轮一样所以有人把操作系统称为是由所以有人把操作系统称为是由 “中断驱动中断驱动”或者或者“(中断)事件驱动(中断)事件驱动”中断机制中断机制 中断机制中断机制是操作系统得以正常工作的最重要的是操作系统得以正常工作的最重要的手段手段n它使得它使得OS可以捕获普通程序发出的系统功能调可以捕获普通程序发出的系统功能调用用n及时处理设备的中

30、断请求及时处理设备的中断请求n防止用户程序中破坏性的活动等等防止用户程序中破坏性的活动等等什么是中断什么是中断?n指指CPUCPU对系统中或系统外发生异步事件的响应对系统中或系统外发生异步事件的响应n异步事件是指无一定时序关系的随机发生事件异步事件是指无一定时序关系的随机发生事件如外部设备完成数据传输,实时设备出现异常等如外部设备完成数据传输,实时设备出现异常等“中断中断”名称源于:名称源于:n当异步事件发生后,打断了对当前程序的执行当异步事件发生后,打断了对当前程序的执行n而转去处理该异步事件而转去处理该异步事件n直到处理完了后,再转回原程序中断点继续执行直到处理完了后,再转回原程序中断点继

31、续执行1、中断的概念、中断的概念中断定义中断定义nCPUCPU对系统发生的某个事件作出的一种反应对系统发生的某个事件作出的一种反应nCPUCPU暂停正在执行的程序,保留现场后自动转暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序断点,继续执行被打断的程序从用户角度看中断从用户角度看中断引入中断的目的引入中断的目的n解决主机与外设的并行工作问题解决主机与外设的并行工作问题n提高可靠性提高可靠性n实现多机联系实现多机联系n实现实时控制实现实时控制特点:特点:1)1)中断随机的中断随机的 2)2)中断是可恢

32、复的中断是可恢复的 3)3)中断是自动处理的中断是自动处理的n中断源:引起中断发生的事件中断源:引起中断发生的事件n中断寄存器:记录中断中断寄存器:记录中断n中断字:中断寄存器的内容中断字:中断寄存器的内容系统堆栈系统堆栈:在内存开辟的一块区域,用于临时保存现场在内存开辟的一块区域,用于临时保存现场中断系统的概念中断系统的概念中断类型(中断类型(1 1)强迫性中断强迫性中断 正在运行的程序所不期望的,由于某种硬件故障正在运行的程序所不期望的,由于某种硬件故障或外部请求引起的或外部请求引起的自愿性中断自愿性中断 用户在程序中有意识安排的中断,是由于用户在用户在程序中有意识安排的中断,是由于用户在

33、编制程序时因为要求操作系统提供服务,有意使编制程序时因为要求操作系统提供服务,有意使用用“访管访管”指令或系统调用,使中断发生指令或系统调用,使中断发生中断类型中断类型(2)强迫性中断强迫性中断n输入输入/输出输出(I/O)(I/O)中断:主要来自外部设备通道中断:主要来自外部设备通道n程序性中断:运行程序中本身的中断程序性中断:运行程序中本身的中断(如溢出如溢出,缺页中断缺页中断,缺段中断缺段中断,地址越界地址越界)n时钟中断时钟中断n控制台中断控制台中断n硬件故障硬件故障中断类型中断类型(3)自愿性中断自愿性中断n执行执行I/OI/O,创建进程,分配内存创建进程,分配内存n信号量操作,发送

34、信号量操作,发送/接收消息接收消息微机中的中断微机中的中断1.1.可屏蔽中断(可屏蔽中断(IOIO中断)中断)2.2.不可屏蔽中断(机器内部故障、掉电中断)不可屏蔽中断(机器内部故障、掉电中断)3.3.程序错误中断(溢出、除法错等中断)程序错误中断(溢出、除法错等中断)4.4.软件中断(软件中断(TrapTrap指令或中断指令指令或中断指令INTINT)IBM370中的中断中的中断1.1.机器故障中断:如电源故障,机器电路检验错等机器故障中断:如电源故障,机器电路检验错等2.2.输入输出中断:输入输出设备和通道数据传输状态)输入输出中断:输入输出设备和通道数据传输状态)3.3.外外部部中中断断

35、:时时钟钟中中断断,操操作作员员控控制制台台中中断断,多多机机系系统统中中其其它它机机器器的的通通信信要要求求中中断断,各各种种外外设设或或传传感感器器发发来来的实时中断等的实时中断等4.4.程程序序中中断断:程程序序中中的的问问题题引引起起的的中中断断,如如错错误误地地使使用用指令或数据、溢出等问题,存储保护等指令或数据、溢出等问题,存储保护等5.5.访访管管中中断断:访访管管指指令令或或陷陷阱阱指指令令(TrapTrap指指令令)中中的的操操作作数数规规定定了了要要求求服服务务的的类类型型。每每当当CPUCPU执执行行访访管管指指令令或或陷陷阱阱指指令令时时,即即引引起起中中断断并并调调用

36、用操操作作系系统统相相应应的的功功能能模块为其服务模块为其服务2、中断系统中断系统中断系统的两大组成部分:硬件中断装置和软件中断处理程序中断系统的两大组成部分:硬件中断装置和软件中断处理程序n中断系统的硬件中断装置中断系统的硬件中断装置-中断系统的机制部分中断系统的机制部分 负责捕获中断源发出的中断请求,以一定方式响应中断源,负责捕获中断源发出的中断请求,以一定方式响应中断源,然后将处理器控制权交给特定的中断处理程序然后将处理器控制权交给特定的中断处理程序n软件中断处理程序软件中断处理程序-中断系统的策略部分中断系统的策略部分 负责辨别中断类型并做出相应的操作负责辨别中断类型并做出相应的操作中

37、断装置的基本功能中断装置的基本功能n提供识别中断源的方法提供识别中断源的方法n提提供供查查询询中中断断状状态态的的方方法法,通通常常使使用用一一个个寄寄存存器器存存储储有关中断的状态信息,称为中断字有关中断的状态信息,称为中断字n提供中断现场保护的能力提供中断现场保护的能力n提提供供中中断断处处理理程程序序寻寻址址能能力力,找找到到恰恰当当的的中中断断处处理理程程序序n具具有有预预定定义义的的系系统统控控制制栈栈和和中中断断处处理理程程序序入入口口地地址址映映射射表表(中中断断向向量量表表)等等数数据据结结构构和和它它们们在在主主存存中中的的位位置,以辅助置,以辅助OS定制中断处理策略和中断调

38、度机制定制中断处理策略和中断调度机制3、中断逻辑与中断寄存器(、中断逻辑与中断寄存器(1)如何接受和响应中断源的中断请求,因机器而异如何接受和响应中断源的中断请求,因机器而异如,在如,在PCPC中中:n有有可可屏屏蔽蔽的的中中断断请请求求INTR:INTR:主主要要是是输输入入输输出出设设备备的的I/OI/O中中断断,通通过过建建立立在在PSWPSW中中的的中中断断屏屏蔽蔽位位加加以以屏屏蔽蔽,即即使使再再有有I/OI/O中中断断,处理器也不响应处理器也不响应n不不可可屏屏蔽蔽的的中中断断请请求求:属属于于机机器器故故障障中中断断,包包括括内内存存奇奇偶偶校校验错以及掉电等中断源验错以及掉电等

39、中断源n程程序序中中的的问问题题所所引引起起的的中中断断(如如溢溢出出、除除法法错错都都可可以以引引起起中中断)和软件中断等断)和软件中断等由于可能有很多中断源请求同时发生由于可能有很多中断源请求同时发生由中断逻辑按中断优先级加以判定响应哪个中断请求由中断逻辑按中断优先级加以判定响应哪个中断请求中断寄存器:中断寄存器:n有的计算机中,为了区分和不丢失中断信号有的计算机中,为了区分和不丢失中断信号 对应每个中断源分别用一固定触发器寄存中断信号对应每个中断源分别用一固定触发器寄存中断信号 规定值为规定值为1 1时,表示有中断信号,为时,表示有中断信号,为0 0时表示无时表示无n这些触发器的全体称为

40、中断寄存器这些触发器的全体称为中断寄存器n每个触发器称为一个中断位每个触发器称为一个中断位n所以中断寄存器是由若干个中断位组成所以中断寄存器是由若干个中断位组成 中断逻辑与中断寄存器(中断逻辑与中断寄存器(2)处理器如何发现中断信号?处理器如何发现中断信号?处理器的控制部件中设一个能检测中断的机构处理器的控制部件中设一个能检测中断的机构 称为中断扫描机构称为中断扫描机构n在每条指令执行周期的最后时刻扫描中断寄存器,在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号询问是否有中断信号n若无中断信号,继续执行下一条指令若无中断信号,继续执行下一条指令n若有中断,中断硬件将该中断触发器内

41、容按规定编若有中断,中断硬件将该中断触发器内容按规定编码送入码送入PSWPSW的相应位,称为中断码的相应位,称为中断码中断逻辑与中断寄存器(中断逻辑与中断寄存器(3)4、多级中断和中断屏蔽多级中断和中断屏蔽多级中断:多级中断:n多多数数微微型型处处理理器器有有着着多多级级中中断断系系统统,可可以以有有多多根根中中断断请求线(级)从不同设备连接到中断逻辑请求线(级)从不同设备连接到中断逻辑n如如M 68000M 68000有七级,有七级,PDP11PDP11有有1111级级n具有相同特性和优先级的设备可连到同一中断级上具有相同特性和优先级的设备可连到同一中断级上中断优先级:中断优先级:n在在多多

42、级级中中断断系系统统中中,可可能能同同时时有有多多个个中中断断请请求求,CPUCPU接接受中断优先级为最高的那个中断受中断优先级为最高的那个中断n忽略其中断优先级较低的那些中断忽略其中断优先级较低的那些中断5、中断响应中断响应CPUCPU如何响应中断如何响应中断,两个问题:两个问题:nCPUCPU何时响应中断?何时响应中断?通通常常在在CPUCPU执执行行了了一一条条指指令令以以后后,更更确确切切地地,在在指指令令周周期期最最后后时时刻刻接接受受中中断断请请求求,或或此此时时扫扫描描中中断寄存器断寄存器n如何知道提出中断请求的设备或中断源?如何知道提出中断请求的设备或中断源?因因为为只只有有知

43、知道道中中断断源源或或中中断断设设备备,才才能能调调用用相相应应的中断处理程序的中断处理程序开始开始取下一条指令取下一条指令执行指令执行指令检查指令检查指令处理中断处理中断停止停止取周期取周期执行周期执行周期中断周期中断周期不允许中断不允许中断允许允许中断中断n用软件指令去查询各设备接口用软件指令去查询各设备接口 这种方法比较费时这种方法比较费时n多数微型机对此问题的解决方法:多数微型机对此问题的解决方法:使用一种使用一种“向量中断向量中断”的硬件设施的硬件设施“向量中断向量中断”:n当当CPUCPU接受某中断请求时,该设备接口给处理器发接受某中断请求时,该设备接口给处理器发送具有唯一性的送具

44、有唯一性的“中断向量中断向量”,以标识该设备,以标识该设备n“中断向量中断向量”在各计算机上实现方法差别比较大在各计算机上实现方法差别比较大两种解决方法两种解决方法中断向量表中断向量表在有的机器中:在有的机器中:将主存最低位将主存最低位128128个字保留作为中断向量表,每个中断向个字保留作为中断向量表,每个中断向量占两个字量占两个字中断请求的设备接口为了标识自己,向处理器发送一个中断请求的设备接口为了标识自己,向处理器发送一个该设备在中断向量表中表目的地址指针该设备在中断向量表中表目的地址指针中断优先级中断优先级在一些机器中,中断优先级按中断类型划分:在一些机器中,中断优先级按中断类型划分:

45、n 以机器故障中断的优先级最高以机器故障中断的优先级最高 n 程序中断和访问管理程序中断次之程序中断和访问管理程序中断次之 n 外部中断更次之外部中断更次之 n 输入输出的优先级最低输入输出的优先级最低中断屏蔽中断屏蔽在在CPUCPU上运行的程序,有时由于种种原因,不希望其在执行过程中上运行的程序,有时由于种种原因,不希望其在执行过程中被别的事件所中断,称为中断屏蔽被别的事件所中断,称为中断屏蔽n在在PSWPSW中设置中断屏蔽码以屏蔽某些指定的中断类型中设置中断屏蔽码以屏蔽某些指定的中断类型n如果其如果其PSWPSW的中断禁止位建立后,则屏蔽中断的中断禁止位建立后,则屏蔽中断 (不包括不可屏蔽

46、的那些中断)(不包括不可屏蔽的那些中断)n如果如果PSWPSW中的中断禁止位未建立中的中断禁止位未建立 则可以接受其中断优先级高于运行程序中断优先级的那些中断则可以接受其中断优先级高于运行程序中断优先级的那些中断n各设备接口中也有中断禁止位,以禁止该设备的中断各设备接口中也有中断禁止位,以禁止该设备的中断6、中断处理(、中断处理(1)简单的中断处理简单的中断处理-典型的处理过程:典型的处理过程:(1 1)设备给处理器发一个中断信号)设备给处理器发一个中断信号(2 2)处处理理器器处处理理完完当当前前指指令令后后响响应应中中断断,延延迟迟非非常常短短(要要求求处理器没有关闭中断)处理器没有关闭中

47、断)(3 3)处处理理器器处处理理完完当当前前指指令令后后检检测测到到中中断断,判判断断出出中中断断来来源源并并向向发发送送中中断断的的设设备备发发送送了了确确认认中中断断信信号号,确确认认信信号号使使得得该该设备将中断信号恢复到一般状态设备将中断信号恢复到一般状态(4 4)处理器开始为软件处理中断做准备:)处理器开始为软件处理中断做准备:保保存存中中断断点点的的程程序序执执行行上上下下文文环环境境,这这通通常常包包括括程程 序序状状态态字字PSWPSW,程程序序计计数数器器PCPC中中的的下下一一条条指指令令位位置置,一一些些寄寄存存器器的的值,它们通常保存在系统控制栈中值,它们通常保存在系

48、统控制栈中,处理器状态被切换到管态处理器状态被切换到管态(5 5)处理器根据中断源查询中断向量表,获得与该中断相联)处理器根据中断源查询中断向量表,获得与该中断相联系的处理程序入口地址,并将系的处理程序入口地址,并将PCPC置成该地址,处理器开始一置成该地址,处理器开始一个新的指令周期,控制转移到中断处理程序个新的指令周期,控制转移到中断处理程序(6 6)中断处理程序开始工作,包括检查)中断处理程序开始工作,包括检查I/OI/O相关的状态信息,相关的状态信息,操纵操纵I/OI/O设备或者在设备和主存之间传送数据等等设备或者在设备和主存之间传送数据等等(7 7)中断处理结束时,处理器检测到中断返

49、回指令,被中断)中断处理结束时,处理器检测到中断返回指令,被中断程序的上下文环境从系统堆栈中被恢复程序的上下文环境从系统堆栈中被恢复 处理器状态恢复成原来的状态。处理器状态恢复成原来的状态。(8 8)PSWPSW和和PCPC被恢复成中断前的值,处理器开始一个新的指被恢复成中断前的值,处理器开始一个新的指令周期,中断处理结束令周期,中断处理结束中断处理(中断处理(2)简单的中断处理过程简单的中断处理过程多个中断的处理(多个中断的处理(1)若中断处理过程中又发生中断,引起多中断处理问题若中断处理过程中又发生中断,引起多中断处理问题两种策略方法:两种策略方法:n第一种:第一种:处理一个中断时禁止中断

50、,对任何新中断置之不理,在这处理一个中断时禁止中断,对任何新中断置之不理,在这期间发生的中断将保持挂起状态期间发生的中断将保持挂起状态 当再次允许中断时,新中断信号被处理器检测到当再次允许中断时,新中断信号被处理器检测到n软件实现方法:软件实现方法:在任何中断处理前使用禁止中断指令在任何中断处理前使用禁止中断指令 在处理结束后开放中断指令在处理结束后开放中断指令 所有中断严格按照发生顺序处理所有中断严格按照发生顺序处理 不考虑中断紧急程度,无法达到较严格时间要求不考虑中断紧急程度,无法达到较严格时间要求多中断处理第一种策略方法多中断处理第一种策略方法n第二种:第二种:中断按照优先度分级中断按照

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

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁