操作系统课件CCH02(reference)-_第1页
操作系统课件CCH02(reference)-_第2页
操作系统课件CCH02(reference)-_第3页
操作系统课件CCH02(reference)-_第4页
操作系统课件CCH02(reference)-_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章 操作系统的硬件环境及结构主要讨论操作系统对运行硬件环境的要求操作系统运行的硬件环境组成n中央处理器n存储系统n中断机制nI/O系统n时钟以及时钟队列Computer-System Structures 计算机系统结构Computer System Operation 计算机系统运行I/O Structure I/O结构Storage Structure 存储构造Storage Hierarchy 存储层次Hardware Protection 硬件保护General System Architecture 一般系统体系结构Computer-System Architecture计算机系

2、统体系结构2.1 Computer-System Operation计算机系统运行I/O devices and the CPU can execute concurrently. I/O设备与CPU可并行运行Each device controller is in charge of a particular device type. 每一设备控制器负责一个设备类型Each device controller has a local buffer. 每一设备控制器有一局部缓存CPU moves data from/to main memory to/from local buffers. C

3、PU 通过局部缓存与主存交换数据I/O is from the device to local buffer of controller. I/O从设备到设备控制器的局部缓存Device controller informs CPU that it has finished its operation by causing an interrupt. 设备控制器通过引起中断通知CPU操作已完成2.1.1 BIOS(基本输入输出系统)概览1、打开电源2、CPU将控制权交给BIOS3、BIOS运行一个程序:通电自测试程序4、BIOS确认所有外部设备:硬盘或扩充卡5、BIOS确定主引导程序或初始程序

4、加载(IPL)设备的位置6、BIOS建立系统资源表7、选择并启用初始输入设备(键盘)和输出设备(显示器)。BIOS在上次成功启动时俘获这些设置,并存储到NVR中8、搜索非PnP设备,如外部设备互连(PCI)总线,并将这些设备的ROM的数据添加到资源表中9、BIOS解决设备冲突,并配置选择的引导设备10、通过用适当参数呼叫PnP设备的任选ROM来启动这些设备11、启动引导装入程序12、IPL设备将操作系统装到存储器中13、BIOS将控制权交给操作系统,操作系统可以进行其他资源的分配2.1.2 中央处理器(CPU)专门设计了一系列基本机制: - 具有特权级别的处理器状态,能在不同特权级运行的各种特

5、权指令。 - 硬件机制使得OS可以和普通程序隔离 实现保护和控制单机与多处理器系统如果一个计算机系统只有一个处理器,称之为单机系统如果有多个处理器称之为多处理器系统指令系统早期的微处理器,指令系统的功能相对来说比较弱。当代的微处理器,结构非常复杂CPU的构成与基本工作方式 处理器由运算器、控制器、一系列的寄存器以及高速缓存构成运算器实现指令中的算术和逻辑运算,是计算机计算的核心控制器负责控制程序运行的流程,包括取指令、维护CPU状态、CPU与内存的交互等等寄存器是指令在CPU内部作处理的过程中暂存数据、地址以及指令信息的存储设备,在计算机的存储系统中它具有最快的访问速度高速缓存处于CPU和物理

6、内存之间一般由控制器中的内存管理单元(MMU:Memory Management Unit)管理访问速度快于内存,低于寄存器利用程序局部性原理使得高速指令处理和低速内存访问得以匹配,从而提高CPU的效率特权指令和非特权指令特权指令:只能由操作系统使用的指令使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令特权指令一般引起处理器状态的切换 处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态) 然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入CPU如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识处理器的状态根据运行程序对资源和机器

7、指令的使用权限将处理器设置为不同状态多数系统将处理器工作状态划分为管态和目态n管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、系统态n目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态n有些系统将处理器状态划分核心状态,管理状态和用户程序状态(目标状态)三种处于管态时处于目态时全部指令(包括特权指令)可以执行可使用所有资源并具有改变处理器状态的能力只有非特权指令能执行特权级别不同,可运行指令集合也不同特权级别越高,可以运行指令集合越大高特权级别对应的可运行指令集合包含低特权级的程序状态字PSW在PSW中专门设置一位,根据运行程序使用指令的权限而设置

8、,PSW (Program Status Word ):CPU的工作状态码指明管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力条件码反映指令执行后的结果特征中断屏蔽码指出是否允许中断例:微处理器M68000的程序状态字条件位:C: 进位标志位 V: 溢出标志位Z: 结果为零标志位N: 结果为负标志位I0 I2:三位中断屏蔽位S:CPU状态标志位,为1处于管态,为0处于目态T:陷阱(Trap)中断指示位为1, 在下一条指令执行后引起自陷中断内存运行 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 T

9、S I2 I1 I0 X N Z V C CPU状态的转换目态管态 其转换的唯一途径是通过中断管态-目态 可用设置PSW(修改程序状态字)可实现2.1.3 中断中断机制中断机制是操作系统得以正常工作的最重要的手段它使得OS可以捕获普通程序发出的系统功能调用及时处理设备的中断请求防止用户程序中破坏性的活动等等中断的概念什么是中断什么是中断?指指CPU对系统中或系统外发生异步事件的响应对系统中或系统外发生异步事件的响应异步事件是指无一定时序关系的随机发生事件异步事件是指无一定时序关系的随机发生事件,如外部设备完如外部设备完成成 数据传输,实时设备出现异常等数据传输,实时设备出现异常等“中断中断”名

10、称源于:当异步事件发生后,打断了对当前程序的名称源于:当异步事件发生后,打断了对当前程序的执行而转去处理该异步事件执行而转去处理该异步事件,直到处理完了后,再转回原程序中直到处理完了后,再转回原程序中断点继续执行断点继续执行中断处理是操作系统的一个重要组成部分中断处理是操作系统的一个重要组成部分:操作系统就是由中操作系统就是由中断驱动的断驱动的中断是现代计算机系统中基本设施之一,它起着通讯联络作用,中断是现代计算机系统中基本设施之一,它起着通讯联络作用,协调系统对各种外部事件的响应和处理协调系统对各种外部事件的响应和处理中断是实现多道程序的必要条件中断是实现多道程序的必要条件引入中断的目的解决

11、主机与外设的并行工作问题n提高可靠性n实现多机联系n实现实时控制特点:n中断随机的n中断是可恢复的n中断是自动处理的中断系统的概念中断由软硬件协同处理中断装置:指发现中断,响应中断的硬件中断处理程序:由软件来完成中断系统=中断装置+中断处理程序中断源:引起中断发生的事件中断寄存器:记录中断中断字:中断寄存器的内容系统堆栈:在内存开辟的一块区域,用于临时保存现场中断类型强迫性中断:正在运行的程序所不期望的,由于某种硬件故障或外部请求引起的输入/输出(I/O)中断:主要来自外部设备通道程序性中断:运行程序中本身的中断 (如溢出,缺页中断,缺段中断,地址越界)时钟中断控制台中断硬件故障自愿性中断:用

12、户在程序中有意识安排的中断,是由于用户在编制程序时因为要求操作系统提供服务,有意使用“访管”指令或系统调用,使中断发生执行I/O,创建进程,分配内存信号量操作,发送/接收消息从用户角度看中断从用户角度看中断微机中的中断可屏蔽中断(IO中断)不可屏蔽中断(机器内部故障、掉电中断)程序错误中断(溢出、除法错等中断)软件中断(Trap指令或中断指令INT)中断系统中断系统是现代计算机系统的核心机制之一硬件和软件相互配合、相互渗透而使得计算机系统得以充分发挥能力的计算模式中断系统的两大组成部分:硬件中断装置和软件中断处理程序中断系统的硬件中断装置-中断系统的机制部分 负责捕获中断源发出的中断请求,以一

13、定方式响应中断源,然后将处理器控制权交给特定的中断处理程序软件中断处理程序-中断系统的策略部分 负责辨别中断类型并做出相应的操作中断装置的基本功能提供识别中断源的方法提供查询中断状态的方法,通常使用一个寄存器存储有关中断的状态信息,称为中断字提供中断现场保护的能力提供中断处理程序寻址能力,找到恰当的中断处理程序具有预定义的系统控制栈和中断处理程序入口地址映射表(中断向量表)等数据结构和它们在主存中的位置,以辅助OS定制中断处理策略和中断调度机制中断逻辑与中断寄存器 如何接受和响应中断源的中断请求,因机器而异,如,在PC中:有可屏蔽的中断请求INTR:主要是输入输出设备的I/O中断, 通过建立在

14、PSW中的中断屏蔽位加以屏蔽,即使再有I/O中断,处理器也不响应不可屏蔽的中断请求:属于机器故障中断,包括内存奇偶校验错以及掉电等中断源程序中的问题所引起的中断(如溢出、除法错都可以引起中断)和软件中断等有很多中断源请求同时发生时,由中断逻辑按中断优先级加以判定响应哪个中断请求中断寄存器:有的计算机中,为了区分和不丢失中断信号 对应每个中断源分别用一固定触发器寄存中断信号 规定值为1时,表示有中断信号,为0时表示无这些触发器的全体称为中断寄存器每个触发器称为一个中断位所以中断寄存器是由若干个中断位组成处理器如何发现中断信号? 处理器的控制部件中设一个能检测中断的机构,称为中断扫描机构在每条指令

15、执行周期的最后时刻扫描中断寄存器,询问是否有中断信号若无中断信号,继续执行下一条指令若有中断,中断硬件将该中断触发器内容按规定编码送入PSW的相应位,称为中断码多级中断和中断屏蔽多级中断:多数微型处理器有着多级中断系统,可以有多根中断请求线(级)从不同设备连接到中断逻辑,如M 68000有七级,PDP11有11级具有相同特性和优先级的设备可连到同一中断级上中断优先级:在多级中断系统中,可能同时有多个中断请求,CPU接受中断优先级为最高的那个中断忽略其中断优先级较低的那些中断如果在同一中断级中的多个设备接口中同时都有中断请求时,怎么办?两种办法:固定的优先数:每个设备接口给安排一个不同的、固定的

16、优先顺序 如,以该设备在总线中的位置来定,离CPU近的设备,其优先数高于离CPU远的设备轮转法:用一个表,依次轮转响应,这是一个较为公平合理的方法中断响应CPU如何响应中断, 两个问题:CPU何时响应中断? 通常在CPU执行了一条指令以后,更确切地,在指令周期最后时刻接受中断请求,或此时扫描中断寄存器如何知道提出中断请求的设备或中断源?因为只有知道中断源或中断设备是谁,才好调用相应的中断处理程序两种解决方法:用软件指令去查询各设备接口,这种方法比较费时多数微型机对此问题的解决方法:使用一种“向量中断”的硬件设施“向量中断”:当CPU接受某中断请求时,该设备接口给处理器发送具有唯一性的“中断向量

17、”,以标识该设备.“中断向量”在各计算机上实现方法差别比较大中断向量表在有的机器中将主存最低位128个字保留作为中断向量表,每个中断向量占两个字,中断请求的设备接口为了标识自己,向处理器发送一个该设备在中断向量表中表目的地址指针在一些机器中,中断优先级按中断类型划分:n以机器故障中断的优先级最高 n程序中断和访问管理程序中断次之n外部中断更次之n输入输出的优先级最低中断屏蔽在CPU上运行的程序,有时由于种种原因,不希望其在执行过程中被别的事件所中断,称为中断屏蔽在PSW中设置中断屏蔽码以屏蔽某些指定的中断类型如果其PSW的中断禁止位建立后,则屏蔽中断 (不包括不可屏蔽的那些中断)如果PSW中的

18、中断禁止位未建立 则可以接受其中断优先级高于运行程序中断优先级的那些中断各设备接口中也有中断禁止位,以禁止该设备的中断实时处理的中断对于以实时处理为主要任务的机器,显然必须把具有重要意义传感器发出的中断作为高优先级,这样才能有较好的响应现代实时系统中,中断优先级的设计是灵活可变的,允许用户根据应用需要,选择不同中断优先策略中断处理中断处理:简单的中断处理 - 典型的处理过程:(1)设备给处理器发一个中断信号(2)处理器处理完当前指令后响应中断,延迟非常短(要求处理器没有关闭中断)(3)处理器处理完当前指令后检测到中断,判断出中断来源并向发送中断的设备发送了确认中断信号,确认信号使得该设备将中断

19、信号恢复到一般状态(4)处理器开始为软件处理中断做准备: 保存中断点的程序执行上下文环境,这通常包括程序状态字PSW,程序计数器PC中的下一条指令位置,一些寄存器的值,它们通常保存在系统控制栈中,处理器状态被切换到管态(5)处理器根据中断源查询中断向量表,获得与该中断相联系的处理程序入口地址,并将PC置成该地址,处理器开始一个新的指令周期,控制转移到中断处理程序(6)中断处理程序开始工作,包括检查I/O相关的状态信息,操纵I/O设备或者在设备和主存之间传送数据等等(7)中断处理结束时,处理器检测到中断返回指令,被中断程序的上下文环境从系统堆栈中被恢复,处理器状态恢复成原来的状态。(8)PSW和

20、PC被恢复成中断前的值,处理器开始一个新的指令周期,中断处理结束简单的中断处理过程简单的中断处理过程中断处理:多个中断的处理若中断处理过程中又发生中断,引起多中断处理问题两种策略方法:第一种:处理一个中断时禁止中断,对任何新中断置之不理,在这期间发生的中断将保持挂起状态,当再次允许中断时,新中断信号被处理器检测到软件实现方法: 在任何中断处理前使用禁止中断指令 在处理结束后开放中断指令 所有中断严格按照发生顺序处理 不考虑中断紧急程度,无法达到较严格时间要求多中断处理第一种策略方法多中断处理第一种策略方法第二种:中断按照优先度分级允许优先级高中断打断优先级低的中断处理过程这样中断优先级技术将引

21、起中断处理的嵌套只要合适地定义中断的优先级别方法一的弊端大都可以克服用 户 程 序低 级 中 断高 级 中 断多中断处理第二种策略方法多中断处理第二种策略方法几种典型中断的处理几种典型中断的处理:I/O中断由I/O设备的控制器或者通道发出两类I/O中断:I/O操作正常结束如果要继续I/O操作,需要在准备好以后重新启动I/O,若请求I/O程序正处于等待I/O状态,则应将其唤醒I/O异常需要重新执行失败的I/O操作重试次数有上限,次数过大,系统将判定硬件故障几种典型中断的处理:时钟中断系统多道能力的重要推动力量,时钟中断处理程序通常做与系统运转、管理和维护相关的工作,包括:维护软件时钟:系统有若干

22、个软件时钟,控制定时任务以及进程的处理器时间配额,时钟中断需要维护、定时更新这些软件时钟处理器时间调度:维护当前进程时间片软件时钟,并在当前进程时间片到时以后运行调度程序选择下一个被调度的进程控制系统定时任务:通过软件时钟和调度程序定时激活一些系统任务,如监测死锁、系统记帐、系统审计等实时处理几种典型中断的处理:硬件故障中断硬件故障中断处理程序一般需要做的工作:保存现场,使用一定警告手段,提供些辅助诊断信息在高可靠系统中,中断处理程序还要评估系统可用性,尽可能恢复系统如Windows 2000/XP,关键硬件发生故障时,如显示卡损坏,出现系统蓝屏,系统实际上进入相应故障处理程序,发现故障不可恢

23、复,则在屏幕上打印出发生故障时程序位置,并开始进行内存转储(将一定范围的内存内容写上磁盘,是系统故障时的全系统“快照”),备日后故障诊断 几种典型中断的处理:程序性中断程序指令出错、指令越权或者指令寻址越界而引发两类处理方法:只能由操作系统的相关扩展功能模块完成 多为程序试图作不能做的操作引起的系统保护 如访问合法的、但不在内存虚地址内,引发页故障页故障一般会引发OS虚存模块作一个页面换入可由程序自己完成,如一些算术运算错误 不同程序可有不同处理方法,所以很多OS提供由用户自己处理这类中断的“绿色通道” 系统调试中断(断点中断、单步跟踪)也可被用户程序处理,用以支持各种程序调试几种典型中断的处

24、理:系统服务请求(自愿性中断)系统服务请求由处理器专用指令(访管指令)激发如x86处理器提供int指令,用来激发软件中断其他不少处理器则提供系统调用指令syscall 执行专用指令的结果是系统被切换到管态,并且转移到一段专门OS程序处开始执行指令格式通常是指令名加请求服务识别号(中断号)OS利用处理器提供的这种接口建立系统服务体系处理器一般不负责定义系统调用所传递的参数格式 几种典型中断的处理:系统服务请求实例DOS:21h号中断的系统服务功能以及参数列表 现代操作系统一般不提供直接使用系统调用指令的接口,通常做法:提供一套方便、实用的应用程序函数库(应用程序设计接口API)从应用层面重新封装

25、系统调用屏蔽复杂的系统调用传参问题高级语言接口,有助于快速开发有的系统在更高层面提供系统程序设计模板库和类库 如Windows 2000/XP提供封装系统用Win32 API和高层编程设施MFC以及ATL Linux提供封装系统调用、符合POSIX标准 API和C运行库设备控制器或其他设备控制器或其他系统硬件发出中断系统硬件发出中断处理器完成当前指处理器完成当前指令的执行令的执行处理器接受中断处理器接受中断处理器将处理器将PSW和和PC推入系统堆栈推入系统堆栈处理器根据中断类处理器根据中断类型读入新的型读入新的PC值值中断系统硬件完成的工作中断系统硬件完成的工作保存进程状态的其保存进程状态的其

26、余信息余信息进程中断进程中断恢复进程状态信息恢复进程状态信息从系统堆栈恢复原从系统堆栈恢复原PSW和和PC中断系统软件完成的工作中断系统软件完成的工作PSWPC.PSW PC.程序状态字程序状态字指令计数器指令计数器系统堆栈系统堆栈PSW1 PC1PSW2 PC2PSW3 PC3PSW4 PC4PSW5 PC5PC1PC2PC3强迫性中断事件强迫性中断事件自愿性中断事件自愿性中断事件保存现场信息保存现场信息保存现场信息保存现场信息取出中断码取出中断码取出访管号取出访管号分析中断原因分析中断原因分析何种系统调用分析何种系统调用转相应处理程序转相应处理程序是否中断嵌套是否中断嵌套由系统恢复现场由系

27、统恢复现场由系统恢复现场由系统恢复现场转低级调度程序转低级调度程序返回上层中断返回上层中断返回目态程序返回目态程序需要切换进程需要切换进程 TFFTCommon Functions of Interrupts中断的常见功能Interrupts transfers control to the interrupt service routine generally, through the interrupt vector, which contains the addresses of all the service routines. 通常中断通过中断矢量把控制传送给中断服务程序,该中断矢量

28、包含了所有服务程序的地址Interrupt architecture must save the address of the interrupted instruction. 中断体系结构必须保护被中断指令的地址Incoming interrupts are disabled while another interrupt is being processed to prevent a lost interrupt. 当另一个中断正在处理时,刚进入的中断不能作用,以免丢失中断A trap is a software-generated interrupt caused either by a

29、n error or a user request.陷阱是由于出错或用户请求引起的软件生成的中断An operating system is interrupt driven. 操作系统是中断驱动的Interrupt Handling中断处理The operating system preserves the state of the CPU by storing registers and the program counter. 操作系统通过存储寄存器和程序计数器而保留了CPU的状态Determines which type of interrupt has occurred: 确定哪一种

30、中断发生了:npolling 轮询nvectored interrupt system 矢量化中断系统Separate segments of code determine what action should be taken for each type of interrupt 对每一类中断分离代码段,以确定应该采取什么反应Interrupt Time Line For a Single Process Doing Output-单进程处理输出的中断时间线两种方法I/O :After I/O starts, control returns to user program only upon

31、 I/O completion. 在I/O开始之后,仅当I/O完成之后控制才返回用户程序,实现方法:nwait instruction idles the CPU until the next interrupt. 等待指令空转CPU直至下一个中断nwait loop (contention for memory access).等候循环nAt most one I/O request is outstanding at a time, no simultaneous I/O processing.每一时刻最多一个I/O请求,无并行I/O处理2.2 I/O Structure2.2.1 I/O

32、 InterruptsAfter I/O starts, control returns to user program, without waiting for I/O completion. 在I/O开始之后,不等I/O完成控制就返回用户程序,实现方法:nSystem call request to the operating system to allow user to wait for I/O completion.系统调用-请求操作系统允许用户等待I/O完成nDevice-status table contains entry for each I/O device indicat

33、ing its type, address, and state.设备状态表包括每个I/O设备的类型、地址和状态nOperating system indexes into I/O device table to determine device status and to modify table entry to include interrupt.操作系统引用设备状态表以确定设备状态并修改表入口加入中断Two I/O methods 两种I/O方法Synchronous同步同步Asynchronous异步异步Device-Status Table设备状态表2.2.2 Direct Mem

34、ory Access (DMA) Structure 直接内存访问(DMA)结构Used for high-speed I/O devices able to transmit information at close to memory speeds. 用于高速I/O设备能够以接近存储器的速率传送信息Device controller transfers blocks of data from buffer storage directly to main memory without CPU intervention. 无须CPU的介入,设备控制器直接把数据块从缓冲区存储传送到主存Only

35、 one interrupt is generated per block, rather than the one interrupt per byte. 每数据块只要一个中断,而不是每个字节一个中断2.2.3 I/O技术I/O控制使用下面几种技术:程序控制中断驱动直接存储器存取(DMA)通道程序控制I/O技术由处理器提供I/O相关指令来实现nI/O处理单元处理请求并设置I/O状态寄存器相关位n不中断处理器,也不给处理器警告信息n处理器定期轮询I/O单元的状态,直到处理完毕I/O软件包含直接操纵I/O的指令n控制指令: 用于激活外设,并告诉它做什么n状态指令: 用于测试I/O控制中的各种状态

36、和条件n数据传送指令: 用于在设备和主存之间来回传送数据主要缺陷:处理器必须关注I/O处理单元的状态,因而耗费大量时间轮询信息,严重地降低了系统性能中断驱动I/O技术为了解决程序控制I/O方法的主要问题n应该让处理器从轮询任务中解放出来n使I/O操作和指令执行并行起来具体作法:n当I/O处理单元准备好与设备交互的时候n通过物理信号通知处理器,即中断处理器DMA技术中断的引入大大地提高了处理器处理I/O的效率当处理器和I/O间传送数据时,效率仍旧不高解决方法:直接存储器访问(DMA:Direct Memory Access)通过系统总线中一独立控制单元DMA控制器自动控制成块数据在内存和I/O单

37、元间的传送大大提高处理I/O的效能当处理器需要读写一整块数据时给DMA控制单元发送一条命令 包含:是否请求一次读或写,I/O设备的编址,开始读或写的主存编址,需要传送的数据长度等信息n处理器发送完命令后就可处理其它事情nDMA控制器将自动管理数据的传送n当这个过程完成后,它会给处理器发一个中断处理器只在开始传送和传送结束时关注一下就可通道独立于中央处理器,专门负责数据I/O传输的处理机它对外设实现统一管理代替CPU对I/O操作进行控制使CPU和外设可以并行工作通道又称为I/O处理机引入通道的目的:为了使CPU从I/O事务中解脱出来同时为了提高CPU与设备、设备与设备之间的并行度 时钟时钟为计算

38、机完成以下必不可少的工作:在多道程序运行环境中,为系统发现陷入死循环(编程错误)的作业,防止机时的浪费在分时系统中,间隔时钟实现作业间按时间片轮转在实时系统中,按要求的间隔输出正确时间信号给实时的控制设备(如AD、D/A转换设备)定时唤醒要求延迟执行的各外部事件(如定时为各进程计算优先数,银行中定时运行某类结账程序等)记录用户使用设备时间和记录某外部事件发生时间记录用户和系统所需要的绝对时间,即年、月、日硬件时钟:某个寄存器来模拟(根据脉冲频率定时加1,减1)软件时钟:用作相对时钟,用内存单元来模拟时钟CPU保护:防止进程得到CPU后不放弃控制权解决:分配给每个进程一段时间(时间片) 时间片到

39、,发时钟中断,控制权交给操作系统 2.3 Storage Structure 存储结构Main memory only large storage media that the CPU can access directly.主存- CPU可以直接访问的唯一大型存储介质Secondary storage extension of main memory that provides large nonvolatile storage capacity.二级存储器-主存的扩展提供了非易失的存储容量Magnetic disks rigid metal or glass platters covere

40、d with magnetic recording material 磁盘-覆盖了磁记录材料的硬金属或玻璃盘片nDisk surface is logically divided into tracks, which are subdivided into sectors.磁盘表面逻辑划分了磁道、再划分为扇面nThe disk controller determines the logical interaction between the device and the computer. 磁盘驱动器确定设备和计算机之间的相互作用Moving-Head Disk Mechanism磁头移动机制

41、2.4 Storage Hierarchy存储层次Storage systems organized in hierarchy.存储系统分层组织nSpeed 速度ncost 成本nvolatility 易失性Caching copying information into faster storage system; main memory can be viewed as a last cache for secondary storage. 缓存- 把信息复制进较快的存储系统;主存可看作为二级存储器的最后一个缓存 存储器的层次结构存储系统设计三个问题:容量、速度和成本存储系统设计三个问题:

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

43、度将变慢,处理器的访问频率也将下降变慢,处理器的访问频率也将下降Storage-Device Hierarchy存储设备层次寄存器寄存器缓存缓存主存储器主存储器电子盘电子盘磁盘磁盘光盘光盘磁带磁带存储访问局部性原理提高存储系统效能关键点:程序存储访问局部性原理程序执行时,有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域处理器主要和存储器的局部打交道在经过一段时间以后,使用的代码和数据集合会改变原则:级别较低存储器比率小于级别较高存储器比率假设两级存储器:第I级包含1KB,存取时间为0.1s第II级包

44、含1MB,存取时间为1s存取I级中的内容,直接存取存取II级,首先被转移到I级,然后再存取假设确定内容所在位置时间可以忽略设计多级存储的体系结构T1T1:I I级存储器的存取时间级存储器的存取时间T2T2:IIII级存储器的存取时间级存储器的存取时间一个简单二级存储系统的性能性能一个简单二级存储系统的性能性能 存储分块存储最小单位:“二进位”,包含信息为0或1最小编址单位:字节,一个字节包含八个二进位主流个人电脑n主存:128MB512MB之间n辅助存储器:在20GB70GB工作站、服务器n主存:512MB4GB之间n硬盘容量:数百GB为简化分配和管理,存储器分成块,称一个物理页(Page)块

45、的大小:512B、1K、4K、8K存储保护设施对主存中的信息加以严格的保护,使操作系统及其它程序不被破坏,是其正确运行的基本条件之一多用户,多任务操作系统: OS给每个运行进程分配一个存储区域问题: 多个程序同时在同一台机器上运行 怎样才能互不侵犯?存储保护的硬件支持为了保证软件程序只影响程序的内部 硬件可提供如下功能:界地址寄存器(界限寄存器)存储键地址转换界地址寄存器(界限寄存器)实现方法:在CPU中设置一对下限寄存器和上限寄存器 存放用户作业在主存中的下限和上限地址也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度)每当CPU要访问主存,硬件自动将被访问的主存地址与

46、界限寄存器的内容进行比较,以判断是否越界如果未越界,则按此地址访问主存,否则将产生程序中断越界中断(存储保护中断)界地址寄存器界地址寄存器存储保护技术存储保护技术存储键每个存储块有一个由二进位组成的存储保护键一用户作业被允许进入主存,OS分给它一个唯一的存储键号并将分配给该作业各存储块存储键也置成同样键号当OS挑选该作业运行时,OS将它的存储键号放入程序状态字PSW存储键(“钥匙”)域中每当CPU访问主存时,都将该主存块的存储键与PSW中的“钥匙”进行比较如果相匹配,则允许访问,否则,拒绝并报警地址转换同时有多个程序在内存程序在内存的位置不是固定的而是随机的CPUTranslation Box

47、 (MMU)虚拟地址虚拟地址物理地址物理地址物理空间物理空间数据读或写数据读或写(不需转换)(不需转换)现代体系结构中的地址转换现代体系结构中的地址转换codedataheapstack程序2虚地址空间data2stack1code1heap1code2stack2data1heap2OS codeOS dataOS heap& stacks程序 1虚地址空间codedataheapstack内存内存地址转换地址转换 缓冲技术缓冲区是硬件设备之间进行数据传输时,用来暂存数据的一个存储区域缓冲技术三种用途:处理器与主存储器之间处理器和其它外部设备之间设备与设备之间的通信目的:解决部件之间速度不匹

48、配的问题:多缓冲区(Cache)技术单缓冲区:设备向缓冲区输入数据直到装满后 必须等待CPU将其取完,才能继续向其中输入数据为了提高设备利用率,单缓冲区不够多缓冲区(Cache)技术:Cache:离CPU最近,使CPU快速访问常使用的数据CPU首先到一级Cache中找如果没有,CPU到二级Cache中找如果没有,CPU到系统内存中找一级一级Cache,CPU先访问,性能对系统性能作用很大先访问,性能对系统性能作用很大Cache与主存储器与主存储器Cache“读读”2.5 Hardware Protection硬件保护由于操作系统控制I/O,多进程共享资源,出现许多运行错误,通过硬件可以检测出来

49、Dual-Mode Operation 两状态运行I/O Protection I/O保护Memory Protection 内存保护CPU Protection CPU 保护2.5.1 Dual-Mode Operation两状态运行Sharing system resources requires operating system to ensure that an incorrect program cannot cause other programs to execute incorrectly. 共享系统资源要求操作系统确保有误程序不会引起其他程序的运行错误Provide hard

50、ware support to differentiate between at least two modes of operations. 至少在两个运行状态之间提供硬件支持1. User mode execution done on behalf of a user. 用户态-代表用户执行完毕2.Monitor mode (also supervisor mode or system mode) execution done on behalf of operating system. 管态(特权模式或系统模式)-代表操作系统执行完毕Mode bit added to computer

51、hardware to indicate the current mode: monitor (0) or user (1). 状态位添入计算机硬件,指示正确的状态:管态(0) 或用户态(1)When an interrupt or fault occurs hardware switches to monitor mode.当中断或错误出现,硬件切换至管态Privileged instructions can be issued only in monitor mode. 特权指令只能在管态下使用 monitoruserInterrupt/faultset user mode2.5.2 I/

52、O Protection I/O保护All I/O instructions are privileged instructions. 所有I/O指令是特权指令Must ensure that a user program could never gain control of the computer in monitor mode (I.e., a user program that, as part of its execution, stores a new address in the interrupt vector). 必须确保用户程序决不能以管态控制计算机(即,用户程序的执行部

53、分在中断向量中存放一个新的地址)2.5.3 Memory Protection 存储保护Must provide memory protection at least for the interrupt vector and the interrupt service routines.至少要为中断向量和中断服务程序提供存储保护In order to have memory protection, add two registers that determine the range of legal addresses a program may access: 为了进行存储保护,增加2个寄存器用于确定一个程序的合法地址范围nbase register holds the smallest legal physical memory address. 基址寄存器- 存有最小的合法物理存储器地址nLimit register contains the size of the range 限长基址寄存器-存有允许范围的大小Memory outside the defined range is protected. 在定义范围之外的存储器受到保护A Base And A limit Register Define A Logical

温馨提示

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

评论

0/150

提交评论