第二章操作系统的硬件环境一、硬件环境的组成二、中央处理器三、存储系统四、缓冲技术五、中断机制六、I/O系统七、时钟一、硬件环境组成•计算机基本的硬件元素-处理器、存储器、输入输出控制、总线、外部设备•运行机制-缓冲机制、中断机制、I/O机制、时钟等二、中央处理器1、CPU的构成与基本工作方式–构成:运算器控制器寄存器高速缓存•运算器:实现指令中的算术和逻辑运算,是计算机计算的核心.•控制器:负责控制程序运行的流程,包括取指令、维护CPU状态、CPU与内存的交互等等.•寄存器:指令在CPU内部作处理的过程中暂存数据、地址以及指令信息的存储设备.在计算机的存储系统中它具有最快的访问速度.•高速缓存:-处于CPU和物理内存之间,一般由控制器中的内存管理单元(MMU)管理,其访问速度快于内存,低于寄存器.-利用程序局部性原理使得高速指令处理和低速内存访问得以匹配,从而提高CPU的效率处理器中的寄存器•寄存器提供了一定的存储能力•速度比主存储器快得多•但是造价高,容量一般都很小两类寄存器:•用户可见寄存器,使用之以减少程序访问主存次数•控制和状态寄存器,用于控制处理器的操作,由OS的特权代码使用,以控制其它程序的执行用户可见寄存器•机器语言直接引用•包括数据寄存器、地址寄存器以及条件码寄存器–数据寄存器又称通用寄存器:主要用于各种算术逻辑指令和访存指令–地址寄存器:用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。–条件码寄存器:保存CPU操作结果的各种标记位如算术运算产生的溢出、符号等等控制和状态寄存器•用于控制处理器的操作•大部分对于用户是不可见的•一部分可以在某种特权模式(由OS使用)下访问常见的控制和状态寄存器:•程序计数器:记录将要取出的指令的地址•指令寄存器:包含最近取出的指令•程序状态字(PSW:ProgramStatusWord),记录处理器的运行模式信息等等指令执行的基本过程•两个步骤:1)先从存储器中每次读取一条指令2)然后执行这条指令•一个单条指令处理过程称为一个指令周期•程序的执行是由不断取指和执行的指令周期组成,仅当关机、出错或有停机相关指令时,程序才停止具体执行过程:•每个指令周期开始时,依据在程序计数器中的指令地址从存储器中取一条指令•在取指完成后根据指令类别自动将程序计数器的值变成下条指令的地址,自增1•取到的指令放在指令寄存器中•处理器解释并执行所要求的动作5类指令•访问存储器指令:处理器和存储器间数据传送•I/O指令:处理器和I/O模块间数据传送和命令发送•算术逻辑指令(数据处理指令):执行数据算术和逻辑操作•控制转移指令:指定一个新的指令的执行起点•处理器控制指令:修改处理器状态,改变处理器工作方式2、特权指令和非特权指令•特权指令:只能由操作系统使用的指令•使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令•用户程序使用了特权指令一般引起处理器状态的切换–处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态)–然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入•CPU如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识3、处理器的工作状态•管态:处理器正在执行操作系统的程序,较高的特权级别,又称为特权态(特态)、系统态•目态:处理器执行用户程序,较低的特权级别,又称为普通态(普态)、用户态•问题:如何知道处理器的状态?管态和目态的差别处理器处于管态时:•全部指令(包括特权指令)可以执行•可使用所有资源•并具有改变处理器状态的能力处理器处于目态时:•只有非特权指令能执行4、程序状态字(PSW)•用来指示处理器的状态。–CPU工作状态代码–条件码:反映指令执行后的结果特征。–中断屏蔽码•CPU状态转换-目态-管态:通过中断-管态-目态:PSW(修改程序状态字)三、存储系统•支持OS运行的硬件环境的一个重要方面:•用户程序必须存放在内存中才能运行•多道程系统中,若干个程序和相关的数据要放内存•操作系统要管理、保护程序和数据,使它们不至于受到破坏•操作系统本身也要存放在主存储器中并运行1、存储器的类型两类存储器:读写型的存储器只读型的存储器读写型的存储器•可把数据存入其中任一地址单元,并可在以后的任何时候把数据读出,或者重新存入新的数据的一种存储器•常被称为随机访问存储器(RAM:RandomAccessMemory)•RAM主要用作存放随机存取的程序和数据只读型的存储器:•只能从其中读取数据,但不能随意用普通方法写入数据(写入数据只能用特殊方法)•称为只读存储器(ROM:Read-OnlyMemory)•变型:PROM和EPROM•PROM:一种可编程只读存储器,使用特殊PROM写入器写入数据•EPROM:用特殊的紫外线光照射此芯片,以“擦去”信息,恢复原来状态,然后使用特殊EPROM写入器写入数据•在微机中,一些常驻内存的模块以微程序形式固化在ROM中如:PCBIOS和BASIC解释程序被固化于ROM中2、存储器的层次结构存储系统设计三个问题:容量、速度和成本•容量:需求无止境•速度:能匹配处理器的速度•成本问题:成本和其它部件相比应在合适范围之内容量、速度和成本•三个目标不可能同时达到最优,要作权衡•存取速度快,每比特价格高•容量大,每比特价格越低,同时存取速度也越慢解决方案:采用层次化的存储体系结构•当沿着层次下降时•每比特的价格将下降,容量将增大•速度将变慢,处理器的访问频率也将下降磁带机光盘存储器磁盘存储器内存储器高速缓存寄存器•程序的存储访问局部性原理提高存储系统效能关键点•程序执行时,有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合•对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域处理器主要和存储器的局部打交道在经过一段时间以后,使用的代码和数据集合会改变设计多级存储的体系结构原则:访问级别较低存储器比率小于级别较高存储器比率假设两级存储器:•第I级包含1KB,存取时间为0.1μs•第II级包含1MB,存取时间为1μs存取I级中的内容,直接存取存取II级,首先被转移到I级,然后再存取若在I级存储器中发现存取对象的概率是95%,则平均访问时间为:结果非常接近I级存储的存取时间ssss15.011.005.01.095.0T1:I级存储器的存取时间T2:II级存储器的存取时间一个简单二级存储系统的性能3、存储分块•存储最小单位:“二进位”,包含信息为0或1•最小编址单位:字节,一个字节包含八个二进位主流个人电脑–主存:–辅助存储器:工作站、服务器–主存:–硬盘容量:为简化分配和管理,存储器分成块,称一个物理页(Page)•块的大小:512B、1K、4K、8K4、存储保护设施对主存中的信息加以严格的保护,使操作系统及其它程序不被破坏,是其正确运行的基本条件之一多用户,多任务操作系统:OS给每个运行进程分配一个存储区域问题:多个程序同时在同一台机器上运行怎样才能互不侵犯?实现方法:•在CPU中设置一对下限寄存器和上限寄存器,存放用户作业在主存中的下限和上限地址•也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度)•每当CPU要访问主存,硬件自动将被访问的主存地址与界限寄存器的内容进行比较,以判断是否越界•如果未越界,则按此地址访问主存,否则将产生程序中断——越界中断(存储保护中断)•界地址寄存器存储器进程ID下限寄存器上限寄存器110002000220012500325013500进程1进程2进程3…100020002501200125001001CPU下限寄存器20012500上限寄存器界限寄存器存储键•每个存储块有一个由二进位组成的存储保护键•用户作业被允许进入主存,OS分给它一个唯一的存储键号•并将分配给该作业各存储块存储键也置成同样键号•当OS挑选该作业运行时,OS将它的存储键号放入程序状态字PSW存储键(“钥匙”)域中•每当CPU访问主存时,都将该主存块的存储键与PSW中的“钥匙”进行比较•如果相匹配,则允许访问,否则,拒绝并报警四、缓冲技术•缓冲区是硬件设备之间进行数据传输时专门用来暂存数据的一个存储区域。•使用缓冲区的目的:解决部件之间的速度不匹配问题。•缓冲技术用于以下三种情况:-处理器与内存之间-处理器与外部设备之间-设备与设备之间•处理器与内存之间的缓冲区CPU内存CacheICacheII字传送块传送块传送