《第二章操作系统的运行环境.ppt》由会员分享,可在线阅读,更多相关《第二章操作系统的运行环境.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2章章 操作系统的运行环境操作系统的运行环境讨论操作系统的主要运行环境讨论操作系统的主要运行环境中央处理器(中央处理器(CPUCPU)存储系统存储系统中断机制中断机制作业与作业步作业与作业步2.1 中央处理器(中央处理器(CPU)1.单处理器与多处理器系统单处理器与多处理器系统一个计算机系统只有一个处理器,称之为单处一个计算机系统只有一个处理器,称之为单处理器系统理器系统如果有多个处理器称之为多处理器系统如果有多个处理器称之为多处理器系统处理器由运算器、控制器和以及高速缓存构成。处理器由运算器、控制器和以及高速缓存构成。程序计数器程序计数器 PC指令寄存器指令寄存器 IR处理器状态字处理器
2、状态字PSW堆栈指示器堆栈指示器 SP指令译码器指令译码器 IDI/O控制逻辑控制逻辑工作寄存器工作寄存器地址寄存器地址寄存器数据寄存器数据寄存器 ALU 控制器控制器2.1 中央处理器(中央处理器(CPU)2.处理器中的寄存器处理器中的寄存器两类寄存器:两类寄存器:用户可见寄存器(工作寄存器):用户可见寄存器(工作寄存器):由处理器执行由处理器执行的机器语言来引用,通常对所有程序都是可用的,的机器语言来引用,通常对所有程序都是可用的,包括系统程序和用户程序。包括系统程序和用户程序。控制和状态寄存器控制和状态寄存器:用于控制处理器的操作,大:用于控制处理器的操作,大部分对用户不可见,部分对用户
3、不可见,由由OS的的特权代码使用。特权代码使用。2.1 中央处理器(中央处理器(CPU)(1)用户可见寄存器)用户可见寄存器机器语言直接引用机器语言直接引用包括数据寄存器、地址寄存器以及条件码寄存器包括数据寄存器、地址寄存器以及条件码寄存器数数据据寄寄存存器器(data register)又又称称通通用用寄寄存存器器,主主要要用用于于各各种种算术逻辑指令和访存指令算术逻辑指令和访存指令地地址址寄寄存存器器(address register)用用于于存存储储数数据据及及指指令令的的物物理理地地址址、线线性性地地址址或或者者有有效效地地址址,用用于于某某种种特特定定方方式式的的寻寻址址。如如索索
4、引引 寄寄 存存 器器(index register)、段段 寄寄 存存 器器(segment pointer)、栈指针()、栈指针(stack pointer)条条件件码码寄寄存存器器保保存存CPU操操作作结结果果的的各各种种标标记记位位,如如算算术术运运算算产产生的溢出、符号等等生的溢出、符号等等(2)控制和状态寄存器)控制和状态寄存器用于控制处理器的操作用于控制处理器的操作对于用户不可见的对于用户不可见的一一部部分分可可以以在在某某种种特特权权模模式式(由由OS使使用用)下下访访问问常常见见的控制和状态寄存器的控制和状态寄存器:程程序序计计数数器器(PC:Program Counter)
5、,记记录录将将要要取取出出的的指指令的地址令的地址指指令令寄寄存存器器(IR:Instruction Register),包包含含最最近近取取出出的指令的指令程程序序状状态态字字(PSW:Program Status Word),记记录录处处理理器的运行模式信息等等器的运行模式信息等等3.特权指令和非特权指令特权指令和非特权指令特权指令特权指令:只能由操作系统使用的指令。特权指令的执行一般:只能由操作系统使用的指令。特权指令的执行一般会引起处理器状态的切换。会引起处理器状态的切换。使用多道程序设计技术的计算机指令系统必须要区分为特权使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特
6、权指令(指令和非特权指令(why?why?)4.处理器的状态处理器的状态根根据据运运行行程程序序对对资资源源和和机机器器指指令令的的使使用用权权限限将将处处理理器器设设置置为为不不同状态:同状态:多数系统将处理器工作状态划分为多数系统将处理器工作状态划分为管态管态和和目态目态:管管态态:操操作作系系统统管管理理程程序序运运行行的的状状态态,又又称称为为特特权权态态、系系统统态、态、管理管理态或态或核心核心态态目态目态:用户程序运行时的状态,又称为:用户程序运行时的状态,又称为普通普通态或、态或、用户用户态态有有些些系系统统将将处处理理器器状状态态划划分分核核心心状状态态,管管理理状状态态和和用
7、户程序状态用户程序状态(目标状态)三种(目标状态)三种实例:实例:x86系列处理器系列处理器-1386、486、Pentium系列都支持系列都支持4个处理器特个处理器特权级别(特权环:权级别(特权环:R0、R1、R2和和R3)从从R0到到R3特权能力依次降低特权能力依次降低R0相当于双状态系统的管态相当于双状态系统的管态R3相当于目态相当于目态R1和和R2则介于两者之间,它们能够运行的指令则介于两者之间,它们能够运行的指令集合具有包含关系:集合具有包含关系:各个级别有保护性检查(地址校验、各个级别有保护性检查(地址校验、I/O限制),并分限制),并分别运行不同级别的程序:别运行不同级别的程序:
8、R0-运行操作系统核心代码运行操作系统核心代码R1-运行关键设备驱动程序和运行关键设备驱动程序和I/O处理例程处理例程R2-运行其它受保护共享代码,如语言系统运行环境运行其它受保护共享代码,如语言系统运行环境R3-运行各种用户程序运行各种用户程序现有基于现有基于x86处理器的操作系统,多数处理器的操作系统,多数UNIX、Linux以及以及Windows系列大都只用了系列大都只用了R0和和R3两个特权级两个特权级别别实例:实例:x86系列处理器系列处理器-2管态和目态的比较:管态和目态的比较:处理器处于管态时处理器处于管态时可以执行全部指令(包括特权指令)可以执行全部指令(包括特权指令)可使用所
9、有资源可使用所有资源具有改变处理器状态的能力具有改变处理器状态的能力处理器处于目态时处理器处于目态时:只能执行非特权指令:只能执行非特权指令特权级别不同,可运行指令集合也不同特权级别不同,可运行指令集合也不同特权级别越高,可以运行指令集合越大特权级别越高,可以运行指令集合越大高特权级别对应的可运行指令集合包含低特权级的高特权级别对应的可运行指令集合包含低特权级的2.1 中央处理器(中央处理器(CPU)5.程序状态字程序状态字PSW程序状态字(程序状态字(PSW):用来指示处理器条件和状态的寄存:用来指示处理器条件和状态的寄存器。不同的机器系统,其器。不同的机器系统,其PSW的格式和信息不尽相同
10、。的格式和信息不尽相同。PSW提供的主要信息:提供的主要信息:CPU的的工工作作状状态态码码指指明明管管态态还还是是目目态态,用用来来说说明明当当前前在在CPU上上执执行行的的是是操操作作系系统统还还是是一一般般用用户户,从从而而决决定定其是否可以使用特权指令或拥有其它的特殊权力其是否可以使用特权指令或拥有其它的特殊权力条件码条件码反映指令执行后的结果特征反映指令执行后的结果特征中断屏蔽码中断屏蔽码指出是否允许中断指出是否允许中断2.1 中央处理器(中央处理器(CPU)目态目态管态管态 :其转换的唯一途径是通过中断:其转换的唯一途径是通过中断管态管态目态目态 :可用通过设置:可用通过设置PSW
11、(PSW(修改程序状态修改程序状态字字)对应位的值来实现对应位的值来实现系统屏蔽系统屏蔽钥钥EMWP中断码中断码ILCCC程序屏蔽程序屏蔽指令地址指令地址0711153133353963例:例:IBM370的的PSW钥:用于存储保护钥:用于存储保护EMWP:E表示机器控制方式,表示机器控制方式,M表示机器校验方式,表示机器校验方式,W表示表示 等待状态位,等待状态位,P表示处理器的工作状态。表示处理器的工作状态。ILC:上一次执行指令的长度。:上一次执行指令的长度。CC:条件值。:条件值。系统屏蔽:指出系统屏蔽:指出CPU是否接受特定通道的中断。是否接受特定通道的中断。程序屏蔽:指示程序屏蔽:
12、指示CPU是否接受某种程序性中断。是否接受某种程序性中断。2.2 存储器系统存储器系统1.存储器的层次结构存储器的层次结构2.存储访问局部性原理存储访问局部性原理提高存储系统效能关键点:程序存储访问提高存储系统效能关键点:程序存储访问局部性局部性原理。原理。程序执行时,有很多的循环和子程序调用,一旦进入这样程序执行时,有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合的程序段,就会重复存取相同的指令集合对数据存取也有局部性,在较短的时间内,稳定地保持在对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域一个存储器的局部区域2.2 存储器系统存储器系统3
13、.3.存储保护:硬件支持存储保护:硬件支持对主存中的信息加以严格的保护,使操作系统及其对主存中的信息加以严格的保护,使操作系统及其它程序不被破坏。它程序不被破坏。地址寄存器(界限寄存器)地址寄存器(界限寄存器)存储键存储键2.2 存储器系统存储器系统(1)界地址寄存器(界限寄存器)界地址寄存器(界限寄存器)界地址寄存器界地址寄存器被广泛使用的一种存储保护技术,实现方法:被广泛使用的一种存储保护技术,实现方法:在在CPUCPU中设置一对中设置一对下限寄存器下限寄存器和和上限寄存器上限寄存器存放用户作业存放用户作业在主存中的下限和上限地址在主存中的下限和上限地址也可将一个寄存器作为基址寄存器,另一
14、寄存器作为限长也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度)寄存器(指示存储区长度)每当每当CPUCPU要访问主存,硬件自动将被访问的主存地址与界要访问主存,硬件自动将被访问的主存地址与界限寄存器的内容进行比较,以判断是否越界,如果未越界,限寄存器的内容进行比较,以判断是否越界,如果未越界,则按此地址访问主存,否则将产生越界中断则按此地址访问主存,否则将产生越界中断越界中断越界中断(存储保护中断)(存储保护中断)界地址寄存器界地址寄存器存储保护技术存储保护技术(2)存储键)存储键每个存储块有一个由二进位组成的每个存储块有一个由二进位组成的存储保护键。存储保护键。作作
15、业业被被允允许许进进入入主主存存时时,OSOS分分为为它它分分配配一一个个唯唯一一的的存存储储键键号号分配给该作业各存储块存储键与作业的存储键号相同。分配给该作业各存储块存储键与作业的存储键号相同。当当OSOS挑挑选选该该作作业业运运行行时时,将将作作业业的的存存储储键键号号存存入入程程序序状状态态字字PSWPSW的存储键(的存储键(“钥匙钥匙”)域中。)域中。每每当当CPUCPU访访问问主主存存时时,都都将将该该主主存存块块的的存存储储键键与与PSWPSW中中的的“钥钥匙匙”进进行行比比较较,如如果果相相匹匹配配,则则允允许许访访问问,否否则则,拒拒绝绝并并报报警。警。2.3 中断技术中断技
16、术中断中断对于操作系统的重要性就像机器中的对于操作系统的重要性就像机器中的驱动齿轮一样,所以有人把操作系统称为驱动齿轮一样,所以有人把操作系统称为是由是由 “中断驱动中断驱动”或者或者 “(中断)事件驱动(中断)事件驱动”。中断中断协调系统对各种外部事件的响应和处协调系统对各种外部事件的响应和处理理中断中断是多道程序实现的是多道程序实现的必要条件必要条件中断中断指指CPUCPU对系统内或系统外发生异步事件的响应。对系统内或系统外发生异步事件的响应。异步事件是指无一定时序关系随机发生的事异步事件是指无一定时序关系随机发生的事件件中断源中断源(中断事件):引起中断发生的事件。(中断事件):引起中断
17、发生的事件。中断处理程序中断处理程序:处理中断的程序代码。:处理中断的程序代码。1.概念概念中断类型中断类型:不同机器对中断类型的划分不完全:不同机器对中断类型的划分不完全相同。相同。IBM-PC的中断分为:的中断分为:可屏蔽中断(可屏蔽中断(I/O中断)中断)不可屏蔽中断(机器故障中断等)不可屏蔽中断(机器故障中断等)程序错误中断(溢出、缺页和缺段中断等)程序错误中断(溢出、缺页和缺段中断等)访管中断(访管中断(Trap 指令和指令和INT指令等,指令等,Trap 是在是在EFLAGES中陷入标志中陷入标志TF=1时每执行一条指令后时每执行一条指令后便发生一次的异常,如断点、便发生一次的异常
18、,如断点、INTO溢出等)。溢出等)。IBM370的中断的中断机器故障中断机器故障中断:如电源故障,机器电路检验错等:如电源故障,机器电路检验错等输入输出中断输入输出中断:输入输出设备和通道实现的数据传输:输入输出设备和通道实现的数据传输外外部部中中断断:时时钟钟中中断断,操操作作员员控控制制台台中中断断,多多机机系系统统中中其其它它机机器器的的通通信信要要求求中中断断,各各种种外外设设或或传传感感器器发发来来的实时中断等的实时中断等 程程序序中中断断:程程序序中中问问题题引引起起的的中中断断,如如错错误误地地使使用用指指令或数据、溢出等问题,存储保护等令或数据、溢出等问题,存储保护等访访管管
19、中中断断:访访管管指指令令或或陷陷阱阱指指令令(TrapTrap指指令令)中中的的操操作作数数规规定定了了要要求求服服务务的的类类型型。每每当当CPUCPU执执行行访访管管指指令令或或陷陷阱阱指指令令时时,即即引引起起中中断断并并调调用用操操作作系系统统相相应应的的功功能能模块为其服务模块为其服务访管中断是用户程序在运行中请求操作系统为其提供服务而访管中断是用户程序在运行中请求操作系统为其提供服务而执行一条执行一条“访管指令访管指令”所引起的中断所引起的中断,又称软件中断。访管中又称软件中断。访管中断是进程所期待的断是进程所期待的,它是自愿性的中断它是自愿性的中断,又称自愿中断。又称自愿中断。
20、引入中断的目的:引入中断的目的:解决主机与外设的并行工作问题解决主机与外设的并行工作问题提高可靠性提高可靠性实现多机联系实现多机联系实现实时控制实现实时控制特点:特点:中断是随机的中断是随机的 中断是可恢复的中断是可恢复的 中断是自动处理的中断是自动处理的2.中断系统中断系统中断系统中断系统=硬件中断装置硬件中断装置+中断处理程序中断处理程序中断系统的中断系统的硬件中断装置硬件中断装置中断系统的机制部分,包中断系统的机制部分,包括:发现中断,响应中断的硬件。该装置负责捕获中断源括:发现中断,响应中断的硬件。该装置负责捕获中断源发出的中断请求,以一定方式响应中断源,然后将处理器发出的中断请求,以
21、一定方式响应中断源,然后将处理器控制权交给特定的中断处理程序。控制权交给特定的中断处理程序。软件中断处理程序软件中断处理程序中断系统的策略部分,中断系统的策略部分,负责辨别负责辨别中断类型并做出相应的操作。中断类型并做出相应的操作。中断装置的基本功能中断装置的基本功能提供识别中断源的方法提供识别中断源的方法提提供供查查询询中中断断状状态态的的方方法法,通通常常使使用用一一个个寄寄存存器器存存储储有有关关中断的状态信息,称为中断字中断的状态信息,称为中断字提供中断现场保护的能力提供中断现场保护的能力提供中断处理程序寻址能力,找到恰当的中断处理程序提供中断处理程序寻址能力,找到恰当的中断处理程序具
22、具有有预预定定义义的的系系统统控控制制栈栈和和中中断断处处理理程程序序入入口口地地址址映映射射表表(中中断断向向量量表表)等等数数据据结结构构和和它它们们在在主主存存中中的的位位置置,以以辅辅助助OS定制中断处理策略和中断调度机制定制中断处理策略和中断调度机制3.中断逻辑与中断寄存器中断逻辑与中断寄存器如何接受和响应中断源的中断请求,因机器而异。如在如何接受和响应中断源的中断请求,因机器而异。如在PCPC中:中:可可屏屏蔽蔽的的中中断断请请求求INTRINTR:主主要要指指来来输输入入输输出出设设备备的的I/OI/O中中断断,通通过过建建立立在在PSWPSW中中的的中中断断屏屏蔽蔽位位加加以以
23、屏屏蔽蔽,即即使使再再有有I/OI/O中中断断,处理器也不响应处理器也不响应不不可可屏屏蔽蔽的的中中断断请请求求:属属于于机机器器故故障障中中断断,包包括括内内存存奇奇偶偶校校验错以及掉电等中断源验错以及掉电等中断源程程序序中中的的问问题题引引起起的的中中断断(如如溢溢出出、除除法法错错都都可可以以引引起起中中断断)和软件中断等和软件中断等当多个中断源请求同时发生时,由当多个中断源请求同时发生时,由中断逻辑中断逻辑按中断优先级来按中断优先级来判定响应哪个中断请求。判定响应哪个中断请求。非屏蔽中断请求非屏蔽中断请求中断逻辑中断逻辑中断指令中断指令INTn溢出中断溢出中断INT0除法错除法错中断中
24、断单步中断单步中断TF=1中断控中断控制器制器8259A可可屏屏蔽蔽性性中中断断请请求求INTRNMIIBM-PC中断逻辑和中断源示意图中断逻辑和中断源示意图中断寄存器中断寄存器有的计算机中,为了区分和不丢失中断信号,有的计算机中,为了区分和不丢失中断信号,对应每个对应每个中断源中断源分别用一固定分别用一固定触发器触发器来寄存中来寄存中断信号。通常规定:值为断信号。通常规定:值为1 1时,表示有中断信时,表示有中断信号,为号,为0 0时表示无中断信号。时表示无中断信号。这些触发器的全体组成中断寄存器,中断寄存这些触发器的全体组成中断寄存器,中断寄存器由若干个中断位组成,每个触发器对应一个器由若
25、干个中断位组成,每个触发器对应一个中断位。中断位。3.中断逻辑与中断寄存器中断逻辑与中断寄存器中断扫描机构中断扫描机构 在在CPU的控制部件中,用于检测是否有中断发生的的控制部件中,用于检测是否有中断发生的机构。机构。在每条指令执行周期的在每条指令执行周期的最后时刻最后时刻扫描中断寄存器,扫描中断寄存器,询问是否有中断信号询问是否有中断信号若无中断信号,继续执行下一条指令若无中断信号,继续执行下一条指令若有中断,中断硬件将该中断触发器内容按规定编若有中断,中断硬件将该中断触发器内容按规定编码送入码送入PSWPSW的相应位,称为中断码的相应位,称为中断码 3.中断逻辑与中断寄存器中断逻辑与中断寄
26、存器4.多级中断多级中断多级中断多级中断多多数数微微型型处处理理器器有有多多级级中中断断系系统统,可可以以有有多多根根中中断断请请求求线线(级)从不同设备连接到中断逻辑(级)从不同设备连接到中断逻辑具具有有相相同同特特性性和和优优先先级级的的设设备备可可连连到到同同一一中中断断级级上上,由由中中断断排队器(硬件)决定当前响应哪个中断源。排队器(硬件)决定当前响应哪个中断源。在在多多级级中中断断系系统统中中,可可能能同同时时有有多多个个中中断断请请求求,CPUCPU接接受受中中断断优优先先级级为为最最高高的的那那个个中中断断,忽忽略略其其中中断断优优先先级级较较低低的的那那些些中中断。断。高优先
27、级的中断可以打断低优先级的中断。高优先级的中断可以打断低优先级的中断。如如果果在在同同一一中中断断级级中中的的多多个个设设备备接接口口中中同同时时都都有有中断请求时,怎么办?中断请求时,怎么办?两种办法:两种办法:固固定定的的优优先先数数:每每个个设设备备接接口口给给安安排排一一个个不不同同的的、固固定定的的优优先先顺顺序序。如如,以以该该设设备备在在总总线线中中的的位位置置来来定定,离离CPUCPU近近的的设设备备,其其优优先先数数高高于离于离CPUCPU远的设备远的设备轮轮转转法法:用用一一个个表表,依依次次轮轮转转响响应应,这这是是一一个个较为公平合理的方法较为公平合理的方法4.多级中断
28、多级中断5.中断响应中断响应CPUCPU如何响应中断如何响应中断,两个问题:两个问题:CPUCPU何时响应中断?何时响应中断?通通常常在在CPUCPU执执行行了了一一条条指指令令以以后后,更更确确切切地地,在在指指令令周周期期最最后时刻后时刻接受中断请求,或此时扫描中断寄存器。接受中断请求,或此时扫描中断寄存器。如何知道提出中断请求的设备或中断源?如何知道提出中断请求的设备或中断源?用用软件指令软件指令去查询各设备接口,比较费时(非向量中断)。去查询各设备接口,比较费时(非向量中断)。使用使用 “中断向量表中断向量表”(向量中断)。(向量中断)。非向量中断非向量中断:总是转向中断查询程序的入口
29、地址,执行终端:总是转向中断查询程序的入口地址,执行终端查询程序,以确定被优先批准的中断源,然后分支进入相应查询程序,以确定被优先批准的中断源,然后分支进入相应的中断服务程序。的中断服务程序。每个脉冲使计数器减每个脉冲使计数器减1用来装入计用来装入计数器初值数器初值晶体震荡器晶体震荡器脉冲脉冲节拍节拍机器周期机器周期指令周期指令周期2.4 作业、作业步与进程作业、作业步与进程作业作业:是用户要求计算机计算和处理的一个独立的任务,是操作:是用户要求计算机计算和处理的一个独立的任务,是操作级用户在计算机上完成某项任务所需运行的级用户在计算机上完成某项任务所需运行的若干程序若干程序的集合。如的集合。
30、如在命令方式下输入的一个命令行,或启动一个批文件都是一个作在命令方式下输入的一个命令行,或启动一个批文件都是一个作业。业。作业步作业步:作业中的每个程序运行称做一个作业步。作业中的各个:作业中的每个程序运行称做一个作业步。作业中的各个作业步必须按作业步必须按顺序顺序执行。如用户编辑、编译和调试一个程序可以执行。如用户编辑、编译和调试一个程序可以看做是一个作业中三个不同的作业步。看做是一个作业中三个不同的作业步。一个作业步在执行过程中可以由多个进程来实现。一个作业步在执行过程中可以由多个进程来实现。作业、作业步作业、作业步和进程的关系如下和进程的关系如下:作业作业作业步作业步作业步作业步作业步作
31、业步进程进程进程进程进程进程本章要求本章要求1.掌握管态和目态的概念和实现机制掌握管态和目态的概念和实现机制2.掌握特权指令与非特权指令的概念掌握特权指令与非特权指令的概念3.掌握中断的实现原理掌握中断的实现原理4.掌握掌握PSW的基本内容和作用的基本内容和作用5.掌握内存保护的主要方法掌握内存保护的主要方法6.掌握作业与作业步之间的关系掌握作业与作业步之间的关系 作业作业2(1)什么是特权指令?为什么要将计算机)什么是特权指令?为什么要将计算机系统中的指令分为特权指令和非特权指令系统中的指令分为特权指令和非特权指令?(2)存储保护的目的是什么?常用的存储)存储保护的目的是什么?常用的存储保护方法有哪些?请简述它们的要点。保护方法有哪些?请简述它们的要点。(3)CPU如何发现系统中的中断?请简述如何发现系统中的中断?请简述在中断处理过程中中断硬件和中断软件是在中断处理过程中中断硬件和中断软件是如何协调工作工作的。如何协调工作工作的。