您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文档 > 华中科技大学 操作系统课件全集
第2章操作系统的运行环境OS的运行环境包括硬件环境和其他系统软件组成的软件环境,这些环境既是OS管理的对象,又是OS的支持者和协作者。主要内容硬件环境:CPU主存储器缓冲中断时钟及时钟队列软件支持:重定位一、概述操作系统运行的硬件环境组成中央处理器(CPU)存储系统中断机制时钟以及时钟队列任何系统软件都是硬件功能的延伸,操作系统直接依赖于硬件条件;OS的硬件环境以较分散的形式同各种管理相结合;实现操作系统时必须理解计算机基本结构、操作系统管理的重要资源;二、中央处理器(CPU)单机与多处理器系统如果一个计算机系统只有一个处理器,称之为单机系统;如果有多个处理器称之为多处理器系统。指令系统早期的微处理器,指令系统的功能相对来说比较弱。当代的微处理器,结构非常复杂。1、CPU的构成与基本工作方式处理器由运算器、控制器、一系列的寄存器以及高速缓存构成:运算器:实现指令中的算术和逻辑运算,是计算机计算的核心。控制器:负责控制程序运行的流程,包括取指令、维护CPU状态、CPU与内存的交互等等。寄存器:是指令在CPU内部作处理的过程中暂存数据、地址以及指令信息的存储设备,在计算机的存储系统中它具有最快的访问速度。高速缓存:处于CPU和物理内存之间,一般由控制器中的内存管理单元(MMU:MemoryManagementUnit)管理;访问速度快于内存,低于寄存器。通过高速缓存可以使CPU的高速指令处理和低速内存访问得以匹配,从而提高CPU的效率。指令系统每台计算机机器指令的集合称指令系统,它反映了一台机器的功能和处理能力,可以分为以下五类:数据处理类指令:用于执行算术和逻辑运算。I/O类指令用于启动外围设备,让主存和设备交换数据。寄存器数据交换类指令:用于在处理器的寄存器和存储器之间交换数据。控制类指令:如转移,用于改变执行指令序列。处理器控制指令:修改处理器状态,改变处理器工作方式。在单道程序系统中,用户程序可以直接使用CPU指令启动I/O设备,进行I/O操作。问题是:在多道程序系统中,这种模式可不可行?专门设计了一系列基本机制:具有特权级别的处理器状态,能在不同特权级运行的各种特权指令。硬件机制使得OS可以和普通程序隔离,实现保护和控制2、特权指令和非特权指令特权指令:只能由操作系统使用的指令。如:启动某设备;设置时钟;允许和禁止中断;清内存;在进程之间切换处理机;建立存储保护;存取用于内存保护的寄存器;执行输入输出操作;停止一个CPU的工作。使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令。特权指令一般引起处理器状态的切换:处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态)然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入•CPU如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识。3、处理器的状态根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态。多数系统将处理器工作状态划分为管态和目态:管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、系统态。目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态。有些系统将处理器状态划分核心状态,管理状态和用户程序状态(目标状态)三种管态和目态的差别处理器处于管态时:可以执行全部指令(包括特权指令)可使用所有资源具有改变处理器状态的能力处理器处于目态时:只有非特权指令能执行特权级别不同,可运行指令集合也不同。特权级别越高,可以运行指令集合越大。高特权级别对应的可运行指令集合包含低特权级的。管态和目态的切换UsermonitorInterrupt/faultSetusermode在下列情况下CPU由目态转向管态一个用户程序访问操作系统的某种服务,这种访问称为管理程序调用。程序运行时,产生了一个中断事件,中断处理程序进行工作在一个用户程序中产生一个错误状态,这种错误状态可以被处理为内部中断,并能用中断处理程序进行处理。用户态下企图执行一条特权指令。这种企图可被看作是一种特殊的错误,并按上一条处理。4、程序状态字PSW在PSW中专门设置一位,根据运行程序使用指令的权限而设置,PSW(ProgramStatusWord):CPU的工作状态码——指明管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力条件码——反映指令执行后的结果特征中断屏蔽码——指出是否允许中断微处理器M68000的程序状态字1514131211109876543210TSI2I1I0XNZVC条件位:C:进位标志位V:溢出标志位Z:结果为零标志位N:结果为负标志位I0–I2:三位中断屏蔽位S:CPU状态标志位,为1处于管态,为0处于目态T:陷阱(Trap)中断指示位为1,在下一条指令执行后引起自陷中断微处理器Intel80386的程序状态字其中:IF:中断允许标记IOPL:I/O特权级,用来表示I/O操作所处特权级。00:0级01:1级10:2级11:3级0~2级:管态3级:目态Reserved31171614131211VMRFNFIOPLOFDFIF10987SFZFTF654AF3SFPF210CFPentium的处理器状态有四种,支持4个保护级别,0级权限最高,3级权限最低。一种典型的应用是把4个保护级别依次设定为:0级为操作系统内核级。处理I/O、存储管理、和其他关键操作。1级为系统调用处理程序级。用户程序可以通过调用这里的过程执行系统调用,但是只有一些特定的和受保护的过程可以被调用。2级为共享库过程级。它可以被很多正在运行的程序共享,用户程序可以调用这些过程,读取它们的数据,但是不能修改它们。3级为用户程序级。它受到的保护最少。各个操作系统在实现过程中可以根据具体策略有选择地使用硬件提供的保护级别,如运行在Pentium上的Windows操作系统只使用了0级和3级。三、主存储器支持OS运行硬件环境的一个重要方面:作业必须把它的程序和数据存放在主存储器(内存)中才能运行;多道程系统中,若干个程序和相关的数据要放入主存储器;操作系统要管理、保护程序和数据,使它们不至于受到破坏;操作系统本身也要存放在主存储器中并运行。1、存储器的类型两类存储器:读写型的存储器只读型的存储器读写型的存储器可把数据存入其中任一地址单元,并可在以后的任何时候把数据读出,或者重新存入新的数据的一种存储器常被称为随机访问存储器(RAM:RandomAccessMemory)RAM主要用作存放随机存取的程序的数据只读型的存储器:只能从其中读取数据,但不能随意用普通方法写入数据(写入数据只能用特殊方法)称为只读存储器(ROM:Read-OnlyMemory)变型:PROM、EPROM和EEPROMPROM:一种可编程只读存储器,使用特殊PROM写入器写入数据EPROM:用特殊的紫外线光照射此芯片,以“擦去”信息,恢复原来状态,然后使用特殊EPROM写入器写入数据EEPROM:电可擦除可编程ROM,又称闪存。存储访问局部性原理提高存储系统效能关键点:程序存储访问局部性原理程序执行时,有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域处理器主要和存储器的局部打交道在经过一段时间以后,使用的代码和数据集合会改变2、存储分块存储最小单位:“二进位”,包含信息为0或1最小编址单位:字节,一个字节包含八个二进位主流个人电脑主存:128MB~512MB之间辅助存储器:在20GB~70GB工作站、服务器主存:512MB-4GB之间硬盘容量:数百GB为简化分配和管理,存储器分成块,称一个物理页(Page)块的大小:512B、1K、4K、8K3、存储保护设施对主存储器中的信息加以严格的保护,使操作系统及其它程序不被破坏,是其正确运行的基本条件之一。多用户,多任务操作系统:OS给每个运行进程分配一个存储区域。问题:多个程序同时在同一台机器上运行怎样才能互不侵犯?存储保护的硬件支持界地址寄存器(界限寄存器):在CPU中设置一对界限寄存器来存放该用户作业在主存中的下限和上限地址,分别称为下限寄存器和上限寄存器。存储保护键:每个存储块都有一个存储保护键,附加在每个存储块上。当操作系统挑选作业运行时,操作系统同时将该作业的存储键号存放到程序状态字PSW的存储键(“钥匙”)域中。每当CPU访问主存时,都将对主存块的存储键与PSW中的“钥匙”进行比较。以判断访问是否合法。A块C块B块001010100101000存储键取保护位主存储器四、缓冲技术缓冲区是硬件设备之间进行数据传输时,用来暂存数据的一个存储区域目的:解决部件之间速度不匹配的问题缓冲技术三种用途:处理器与主存储器之间处理器和其它外部设备之间设备与设备之间的通信多缓冲区(Cache)技术单缓冲区:设备向缓冲区输入数据直到装满后必须等待CPU将其取完,才能继续向其中输入数据为了提高设备利用率,单缓冲区不够多缓冲区(Cache)技术:Cache:离CPU最近,使CPU快速访问常使用的数据CPU首先到一级Cache中找如果没有,CPU到二级Cache中找如果没有,CPU到系统内存中找一级Cache,CPU先访问,性能对系统性能作用很大Cache与主存储器Cache“读”五、中断技术中断概念:CPU对系统发生的某个事件作出的一种反应。CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序。中断的作用中断处理是操作系统的一个重要组成部分;中断对于操作系统就像机器中的驱动齿轮一样;操作系统可以称为是由“中断驱动”或者“(中断)事件驱动”。中断是现代计算机系统中基本设施之一,是CPU与系统其他资源通信的重要手段,协调系统对各种外部事件的响应和处理,使OS可以捕获普通程序发出的系统功能调用;中断是实现多道程序的必要条件;可以及时处理设备的中断请求;可以防止用户程序中破坏性的活动等等。引入中断的目的解决主机与外设的并行工作问题提高可靠性实现多机联系实现实时控制特点:1)中断随机的2)中断是可恢复的3)中断是自动处理的中断系统的概念中断系统是实现中断功能的部件,包括中断装置和中断处理程序。中断装置:指发现中断,响应中断的硬件。发现中断源,提出中断请求。保护现场启动处理中断事件的程序。中断处理程序:由软件来完成。主要任务是处理中断事件和恢复正常操作。中断类型(1)强迫性中断正在运行的程序所不期望的,它由于某种硬件故障或外部请求引起的,包括:输入/输出(I/O)中断:主要来自外部设备通道程序性中断:运行程序中本身的中断,如:溢出,缺页中断,缺段中断,地址越界时钟中断控制台中断硬件故障中断类型(2)自愿性中断用户在程序中有意识安排的中断,是由于用户在编制程序时因为要求操作系统提供服务,使用“访管”指令或系统调用,使中断发生。称为访管中断。包括:执行I/O,创建进程,分配内存;信号量操作,发送/接收消息。运行程序中断处理程序中断装置中断处理程序中断装置机器故障中断事件程序性中断事件外部中断事件输入输出中断事件运行程序访管指令中断响应CPU如何响应中断,两个问题:CPU何时响应中断?通常在CPU执行了一条指令以后,更确切地,在指令周期最后时刻接受中断请求,或此时扫描中断寄存器如何知道提出中断请求的设备或中断源?因为只有知道中断源或中断设备,才能调用相应的中断处理程序开始取下一条指令执行指令检查指令处理中断停止取周期执行周期中断周期不允许中断允许中断中断优先级在计算机执行的每一瞬间,可能有几个中断事件同时发生。中断装置按
本文标题:华中科技大学 操作系统课件全集
链接地址:https://www.777doc.com/doc-3174694 .html