第二章操作系统的运行环境_第1页
第二章操作系统的运行环境_第2页
第二章操作系统的运行环境_第3页
第二章操作系统的运行环境_第4页
第二章操作系统的运行环境_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

第2章操作系统的运行环境讨论操作系统的主要运行环境中央处理器(CPU)存储系统中断机制作业与作业步2.1中央处理器(CPU)1.单处理器与多处理器系统一个计算机系统只有一个处理器,称之为单处理器系统如果有多个处理器称之为多处理器系统处理器由运算器、控制器和以及高速缓存构成。程序计数器PC指令寄存器IR处理器状态字PSW堆栈指示器SP指令译码器IDI/O控制逻辑工作寄存器地址寄存器数据寄存器

ALU

控制器2.1中央处理器(CPU)例:2.处理器中的寄存器两类寄存器:用户可见寄存器(工作寄存器):由处理器执行的机器语言来引用,通常对所有程序都是可用的,包括系统程序和用户程序。控制和状态寄存器:用于控制处理器的操作,大部分对用户不可见,由OS的特权代码使用。2.1中央处理器(CPU)(1)用户可见寄存器机器语言直接引用包括数据寄存器、地址寄存器以及条件码寄存器数据寄存器(dataregister)又称通用寄存器,主要用于各种算术逻辑指令和访存指令地址寄存器(addressregister)用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。如索引寄存器(indexregister)、段寄存器(segmentpointer)、栈指针(stackpointer)条件码寄存器保存CPU操作结果的各种标记位,如算术运算产生的溢出、符号等等(2)控制和状态寄存器用于控制处理器的操作对于用户不可见的一部分可以在某种特权模式(由OS使用)下访问常见的控制和状态寄存器:程序计数器(PC:ProgramCounter),记录将要取出的指令的地址指令寄存器(IR:InstructionRegister),包含最近取出的指令程序状态字(PSW:ProgramStatusWord),记录处理器的运行模式信息等等3.特权指令和非特权指令特权指令:只能由操作系统使用的指令。特权指令的执行一般会引起处理器状态的切换。使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令(why?)4.处理器的状态根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态:多数系统将处理器工作状态划分为管态和目态:管态:操作系统管理程序运行的状态,又称为特权态、系统态、管理态或核心态目态:用户程序运行时的状态,又称为普通态或、用户态有些系统将处理器状态划分核心状态,管理状态和用户程序状态(目标状态)三种实例:x86系列处理器-1386、486、Pentium系列都支持4个处理器特权级别(特权环:R0、R1、R2和R3)从R0到R3特权能力依次降低R0相当于双状态系统的管态R3相当于目态R1和R2则介于两者之间,它们能够运行的指令集合具有包含关系:各个级别有保护性检查(地址校验、I/O限制),并分别运行不同级别的程序:R0-运行操作系统核心代码R1-运行关键设备驱动程序和I/O处理例程R2-运行其它受保护共享代码,如语言系统运行环境R3-运行各种用户程序现有基于x86处理器的操作系统,多数UNIX、Linux以及Windows系列大都只用了R0和R3两个特权级别实例:x86系列处理器-2管态和目态的比较:处理器处于管态时可以执行全部指令(包括特权指令)可使用所有资源具有改变处理器状态的能力处理器处于目态时:只能执行非特权指令特权级别不同,可运行指令集合也不同特权级别越高,可以运行指令集合越大高特权级别对应的可运行指令集合包含低特权级的2.1中央处理器(CPU)5.程序状态字PSW程序状态字(PSW):用来指示处理器条件和状态的寄存器。不同的机器系统,其PSW的格式和信息不尽相同。PSW提供的主要信息:CPU的工作状态码——指明管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力条件码——反映指令执行后的结果特征中断屏蔽码——指出是否允许中断2.1中央处理器(CPU)目态→管态:其转换的唯一途径是通过中断管态→目态:可用通过设置PSW(修改程序状态字)对应位的值来实现系统屏蔽钥EMWP中断码ILCCC程序屏蔽指令地址0711153133353963例:IBM370的PSW钥:用于存储保护EMWP:E表示机器控制方式,M表示机器校验方式,W表示等待状态位,P表示处理器的工作状态。ILC:上一次执行指令的长度。CC:条件值。系统屏蔽:指出CPU是否接受特定通道的中断。程序屏蔽:指示CPU是否接受某种程序性中断。2.2存储器系统1.存储器的层次结构2.存储访问局部性原理提高存储系统效能关键点:程序存储访问局部性原理。程序执行时,有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域2.2存储器系统3.存储保护:硬件支持对主存中的信息加以严格的保护,使操作系统及其它程序不被破坏。地址寄存器(界限寄存器)存储键2.2存储器系统(1)界地址寄存器(界限寄存器)界地址寄存器被广泛使用的一种存储保护技术,实现方法:在CPU中设置一对下限寄存器和上限寄存器存放用户作业在主存中的下限和上限地址也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度)每当CPU要访问主存,硬件自动将被访问的主存地址与界限寄存器的内容进行比较,以判断是否越界,如果未越界,则按此地址访问主存,否则将产生越界中断——越界中断(存储保护中断)界地址寄存器存储保护技术(2)存储键每个存储块有一个由二进位组成的存储保护键。作业被允许进入主存时,OS分为它分配一个唯一的存储键号分配给该作业各存储块存储键与作业的存储键号相同。当OS挑选该作业运行时,将作业的存储键号存入程序状态字PSW的存储键(“钥匙”)域中。每当CPU访问主存时,都将该主存块的存储键与PSW中的“钥匙”进行比较,如果相匹配,则允许访问,否则,拒绝并报警。2.3中断技术中断对于操作系统的重要性就像机器中的驱动齿轮一样,所以有人把操作系统称为是由“中断驱动”或者“(中断)事件驱动”。中断协调系统对各种外部事件的响应和处理中断是多道程序实现的必要条件中断指CPU对系统内或系统外发生异步事件的响应。异步事件是指无一定时序关系随机发生的事件中断源(中断事件):引起中断发生的事件。中断处理程序:处理中断的程序代码。1.概念例:UC/OS中断响应过程中断隐指令----指令系统中没有的指令,它由CPU在中断响应周期自动完成。其功能是保护程序断点、硬件关中断、向量地址送PC(硬件向量法)或中断识别程序入口地址送PC(软件查询法)。中断类型:不同机器对中断类型的划分不完全相同。IBM-PC的中断分为:可屏蔽中断(I/O中断)不可屏蔽中断(机器故障中断等)程序错误中断(溢出、缺页和缺段中断等)访管中断(Trap指令和INT指令等,Trap是在EFLAGES中陷入标志TF=1时每执行一条指令后便发生一次的异常,如断点、INTO溢出等)。IBM370的中断机器故障中断:如电源故障,机器电路检验错等输入输出中断:输入输出设备和通道实现的数据传输外部中断:时钟中断,操作员控制台中断,多机系统中其它机器的通信要求中断,各种外设或传感器发来的实时中断等程序中断:程序中问题引起的中断,如错误地使用指令或数据、溢出等问题,存储保护等访管中断:访管指令或陷阱指令(Trap指令)中的操作数规定了要求服务的类型。每当CPU执行访管指令或陷阱指令时,即引起中断并调用操作系统相应的功能模块为其服务访管中断是用户程序在运行中请求操作系统为其提供服务而执行一条“访管指令”所引起的中断,又称软件中断。访管中断是进程所期待的,是自愿性的中断,又称自愿中断。引入中断的目的:解决主机与外设的并行工作问题提高可靠性实现多机联系实现实时控制特点:中断是随机的中断是可恢复的中断是自动处理的2.中断系统中断系统=硬件中断装置+中断处理程序中断系统的硬件中断装置——中断系统的机制部分,包括:发现中断,响应中断的硬件。该装置负责捕获中断源发出的中断请求,以一定方式响应中断源,然后将处理器控制权交给特定的中断处理程序。软件中断处理程序——中断系统的策略部分,负责辨别中断类型并做出相应的操作。中断装置的基本功能提供识别中断源的方法提供查询中断状态的方法,通常使用一个寄存器存储有关中断的状态信息,称为中断字提供中断现场保护的能力提供中断处理程序寻址能力,找到恰当的中断处理程序具有预定义的系统控制栈和中断处理程序入口地址映射表(中断向量表)等数据结构和它们在主存中的位置,以辅助OS定制中断处理策略和中断调度机制3.中断逻辑与中断寄存器如何接受和响应中断源的中断请求,因机器而异。如在PC中:可屏蔽的中断请求INTR:主要指来输入输出设备的I/O中断,通过建立在PSW中的中断屏蔽位加以屏蔽,即使再有I/O中断,处理器也不响应不可屏蔽的中断请求:属于机器故障中断,包括内存奇偶校验错以及掉电等中断源程序中的问题引起的中断(如溢出、除法错都可以引起中断)和软件中断等当多个中断源请求同时发生时,由中断逻辑按中断优先级来判定响应哪个中断请求。非屏蔽中断请求中断逻辑中断指令INTn溢出中断INT0除法错中断单步中断TF=1中断控制器8259A可屏蔽性中断请求…INTRNMIIBM-PC中断逻辑和中断源示意图中断寄存器有的计算机中,为了区分和不丢失中断信号,对应每个中断源分别用一固定触发器来寄存中断信号。通常规定:值为1时,表示有中断信号,为0时表示无中断信号。这些触发器的全体组成中断寄存器,中断寄存器由若干个中断位组成,每个触发器对应一个中断位。3.中断逻辑与中断寄存器例:中断请求的产生DQ&1INTR中断请求触发器MASK中断屏蔽触发器来自CPU的中断查询信号受设备本身控制INTRDMASKQD完成触发器中断请求INTR=1有请求MASK=1被屏蔽中断扫描机构在CPU的控制部件中,用于检测是否有中断发生的机构。在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号若无中断信号,继续执行下一条指令若有中断,中断硬件将该中断触发器内容按规定编码送入PSW的相应位,称为中断码3.中断逻辑与中断寄存器4.多级中断多级中断多数微型处理器有多级中断系统,可以有多根中断请求线(级)从不同设备连接到中断逻辑具有相同特性和优先级的设备可连到同一中断级上,由中断排队器(硬件)决定当前响应哪个中断源。在多级中断系统中,可能同时有多个中断请求,CPU接受中断优先级为最高的那个中断,忽略其中断优先级较低的那些中断。高优先级的中断可以打断低优先级的中断。5.中断响应

CPU如何响应中断,两个问题:CPU何时响应中断?通常在CPU执行了一条指令以后,更确切地,在指令周期最后时刻接受中断请求,或此时扫描中断寄存器。如何知道提出中断请求的设备或中断源?用软件指令去查询各设备接口,比较费时(非向量中断)。使用“中断向量表”(向量中断)。非向量中断:总是转向中断查询程序的入口地址,执行终端查询程序,以确定被优先批准的中断源,然后分支进入相应的中断服务程序。例:中断向量…向量地址…排队器输出

显示器服务程序

打印机服务程序JMP400JMP300JMP200…………主存12H13H14H200300向量地址入口地址入口地址设备编码器1000…0001001

温馨提示

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

评论

0/150

提交评论