您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 第二章操作系统运行环境
第二章操作系统运行环境2.1处理机2.2存储系统2.3多道程序环境2.4中断技术2.5程序的运行2.1处理机CPU从内存中取出指令,对指令解码,执行指令,直至程序执行完毕。每个CPU基本周期由两个步骤组成:(1)读入下一条指令,下一条要执行的指令的地址保存在程序计数器(PC)中;(2)执行当前指令,即从主存储器中取出指令到指令寄存器(IR)并执行指令,PC将自动地增长或改变为转移地址以指明下一条执行的指令。开始结束读入下一条指令执行当前指令指令的执行周期2.1处理机---寄存器由于指令的执行速度比访问内存的速度要快得多,CPU中设置了一组寄存器,用来保存关键变量和临时数据。这组寄存器所存储的信息与程序的执行有很大的关系,构成了处理机现场。当暂停一个正在运行的程序,并启动另一个程序时,操作系统必须保存所有的寄存器信息即保存处理机现场信息,以便稍后继续运行该程序时,可以把这些寄存器信息重新装入寄存器,即恢复CPU现场。寄存器的类型:1、通用寄存器:可由程序设计者指定许多功能,如存放操作数或用作寻址寄存器。2、数据寄存器:用以存放操作数。它们作为内存数据的高速缓存,可以被系统程序和用户程序直接使用并进行计算。3、地址寄存器:用于指明内存地址。如索引寄存器、段寄存器(基址/限长)、堆栈指针寄存器等等。4、I/O地址寄存器(I/OAR):用于指定I/O设备。5、I/O缓冲寄存器(I/OBR):用于处理机和I/O设备交换数据。6、控制寄存器:用于存放处理机的控制和状态信息。它至少应该包括程序计数器(PC,ProgramCounter)和指令寄存器(IR,InstructionRegister),中断寄存器以及用于存储器和I/O模块控制的寄存器。7、存储器地址寄存器(MAR)、存储器数据寄存器(MBR)2.1处理机---指令系统每个CPU都有一套可执行的专门指令集,称为指令系统,大致可以分为五类:指令类型指令描述数据处理类指令用于执行算术和逻辑运算转移类指令如无条件转移、条件转移、计数转移等用于改变指令执行序列数据传送类指令用于在处理机的寄存器和寄存器、寄存器和存储器单元、存储器单元和存储器单元之间交换数据移位与字符串指令移位分算术、逻辑和循环移位;字符串处理有字符串的传送、比较、查询和转换。I/O类指令用于启动外围设备,让主存和外围设备之间交换数据。在多道程序设计环境中,从资源管理和控制程序执行的角度出发,必须把指令系统中的指令分作两类:特权指令。那些只能提供给操作系统的核心程序使用的指令,如启动输入输出设备、设置时钟、控制中断屏蔽位、清内存、建立存储键,加载PSW等。非特权指令。操作系统----执行所有指令用户----执行非特权指令2.1处理机----处理机工作状态根据对系统资源和机器指令的使用权限,把处理机执行时的工作状态分为核心态用户态有的操作系统还将系统程序执行时的机器的状态又分为核态和管态。处理机状态的权限次序是:核态管态用户态。处理机状态:1)核态:CPU执行操作系统程序时所处的状态。在此状态下允许CPU使用全部资源和全部指令,其中包括一组特权指令(如涉及外设的I/O、改变处理机状态、修改存储保护的指令),实现对系统资源的分配与管理,为用户提供使用外部设备的服务。2)管态:管态比核态的权限低,在此状态下允许使用一些用户态下不能使用的资源,但不能使用修改CPU状态的指令。无核态时,管态执行核态的全部功能。3)用户态:用户程序执行时CPU所处的状态。在此状态下禁止使用特权指令,不能直接使用系统资源与改变CPU状态,并且只能访问用户程序所在的存储空间。下面两类情况会导致CPU从用户状态向管理状态转换,(1)程序请求操作系统服务,执行一条系统调用;(2)程序运行时,产生了一个中断事件,运行程序被中断,让中断处理程序工作。2.1CPU----程序状态字(PSW)计算机如何知道当前处于何种工作状态?这时能否执行特权指令?通常操作系统都引入程序状态字PSW(ProgramStatusWord)来区别不同的处理机工作状态。程序状态字用来控制指令的执行顺序并且保留和指示与程序有关的系统状态,其主要作用是实现程序状态的保护和恢复。每个正在执行的程序都有一个与其执行相关的PSW,而每个处理机都设置一个程序状态字寄存器。一个程序占有处理机执行,它的PSW将占有程序状态字寄存器。PSW寄存器的主要内容:1)程序基本状态。包括:(1)程序计数器:指明下一条执行的指令地址;(2)条件码:表示指令执行的结果状态;(3)处理机状态位:指明当前的处理机状态。2)中断码。保存程序执行时当前发生的中断事件。3)中断屏蔽位。指明程序执行中发生中断事件时,是否响应出现的中断事件。2.2存储系统理想的存储器应满足以下三个条件:(1)存储器访问的速度应该极为迅速,至少和CPU执行一条指令的速度相当;(2)存储空间充分大,这样可以同时执行的程序的数量和大小将不受限制;(3)低成本。而目前的技术无法同时满足以上三个目标,于是存储系统采用分层的存储结构:分层的存储系统磁带磁盘内存高速缓存寄存器典型的访问时间1ns2ns10ns10ms100s成本典型的容量1KB4MB512~2048MB200~1000GB400~800GB访问速度快慢高低2.3多道程序环境在多道程序环境中,操作系统具有四个基本特征。(1)并发性。并发性是指两个或多个事件在同一时间间隔内发生。(2)共享性。所谓共享是指系统中的资源可供内存中多个并发的程序共同使用。共享的两种方式:1)互斥共享2)同时访问。(3)异步性。由于资源等因素的限制,使程序的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行。程序以人们不可预知的速度向前推进,即异步性。(4)虚拟(Virtual)性所谓“虚拟”,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。用于实现虚拟的技术,称为虚拟技术。物理实体虚拟实体虚拟实体虚拟实体。。。虚拟技术操作系统中实现虚拟技术的两种方式:(1)时分复用技术。时分复用,即分时使用方式。虚拟处理机技术、虚拟设备技术都采用这种分时的方式。在虚拟处理机技术中,利用多道程序设计技术,把一台物理上的处理机虚拟为多台逻辑上的处理机,在每台逻辑处理机上运行一道程序,使用户感觉到有多台处理机,我们把用户感觉到的处理机成为虚拟处理机。(2)空分复用技术。空分复用,对空间进行划分,提高空间的利用率。虚拟磁盘技术、虚拟存储器技术采用的是空分复用的方式。利用虚拟磁盘技术可以将一个硬盘虚拟为多个虚拟磁盘,使得磁盘的使用方便又安全。采用虚拟存储技术可以从逻辑上扩大内存的容量。2.4中断技术中断需求:(1)请求操作系统服务(2)实现CPU和I/O设备交换信息使CPU与I/O设备并行工作(3)处理突发事件(4)满足实时要求中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理时间,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的程序执行的过程。当前指令下一条指令中断处理程序中断返回与中断相关的几个概念中断源:引起中断发生的事件。中断请求:中断源向CPU发出的请求中断处理信号中断响应:CPU收到中断请求后转相应的事件处理程序中断是现代操作系统实现并发性的基础之一。中断的分类1。按照中断事件的性质,可以分成(1)强迫性中断事件(2)自愿性中断事件。强迫性中断事件强迫性中断事件不是正在运行的程序所期待的,而是由于某种事故或外部请求信息所引起的。这类中断事件大致有以下几种:机器故障中断事件。例如,电源故障,主存储器出错等。程序性中断事件。例如,定点溢出,除数为0,地址越界等。外部中断事件。例如,时钟的定时中断,控制台发控制信息等。输入输出中断事件。例如,设备出错,传输结束等。自愿性中断事件自愿性中断事件是正在运行的程序所期待的事件。这种事件是由于执行了一条访管指令而引起的,它表示正在运行的程序对操作系统有某种需求,一旦机器执行到一条访管指令时,便自愿停止现行程序而转入访管中断处理程序处理。例如,要求操作系统协助启动外围设备工作。两类中断事件的响应过程运行程序中断装置中断处理程序机器故障中断/程序性中断事件/I/O中断事件/外部事件运行程序中断装置中断处理程序访管指令a。强迫性中断事件b。自愿性中断事件中断的分类2.按照中断信号的来源,把中断分为外中断和内中断.外中断,一般又称中断,是指来自处理器和主存储器之外的中断,包括:电源故障中断、时钟中断、控制台中断、它机中断和I/O中断等。内中断,是指来自处理器和主存内部的中断,一般又称陷入或异常,包括:通路校验错、主存奇偶错、非法操作码、地址越界、页面失效、调试指令、访管中断、算术操作溢出等各种程序性中断等。其中访管中断是由机器指令提供的特殊指令,该指令执行时将会引起中断。中断和陷入(外中断和内中断)的区别(1)中断是由与现行指令无关的中断信号触发的,而陷入则是由处理器正在执行现行指令而引起的(2)中断处理程序提供的服务不是为当前程序所需,而陷入处理程序提供的服务是为当前程序所用(3)CPU在两条机器指令之间才可以响应中断,而在一条指令执行中可以响应陷入。硬中断与软中断上述的内中断与外中断(中断和陷入)要通过硬件来产生中断请求,可以看作硬中断。软中断是不必由硬件发信号而能引发的一种中断,它通常是通信进程之间用来模拟硬中断的一种信号通信方式。中断优先级当有多个中断同时发生时,中断装置根据预先设置的中断优先级响应中断。一种可能的中断优先级由高到低的顺序是:机器校验中断;自愿性中断;程序性中断;外部中断;输入输出中断;重启动中断。x86体系结构Windows的中断请求级高掉电处理器间的中断时钟配置文件设备n。。。设备1Dspatch/DPCAPC低系统关闭硬件中断软件中断正常的线程执行中断的屏蔽主机可以允许或禁止某类中断的响应主机是否允许某类中断,由当前程序状态字PSW中的某些中断屏蔽位来决定。中断的处理过程判断是否响应中断关中断保存中断现场(PSW、PC等)分析中断原因转中断处理程序执行中断处理程序恢复中断现场开中断返回断点2.5程序的运行库目标模块1目标模块2链接程序装入模块装入程序编译链接装入内存…源程序2源程序1…编译程序符号名(名字空间)逻辑地址(逻辑地址空间)物理地址(物理地址空间)用户程序的处理步骤单道程序环境中的绝对装入方式产生的目标代码中直接使用绝对地址,绝对装入程序按照装入模块中的地址,将程序和数据装入内存,无需对模块中的地址部分进行修改,这种装入方式称为绝对装入方式。目标代码中的绝对地址,有两种方法给出一种是再编译或汇编时给出,一种是由程序员在写程序时直接给出。重定位在装入时,为了使程序正确运行,必须把装入模块中指令和数据的逻辑地址转换成实际装入内存的物理地址,这种地址转换过程,称为重定位。根据重定位的时机,重定位可以分为静态重定位动态重定位。静态重定位静态重定位:重定位是在装入时由重定位程序一次性完成的。LOAD1,3000200LOAD1,13000200100001100013000150005000300010000逻辑地址空间物理地址空间0动态重定位装入模块装入内存后,并不立即进行地址重定位,而是把地址重定位推迟到程序真正要执行时才进行,这种重定位称做动态重定位。LOAD1,3000200LOAD1,3000200100001100013000150005000300010000逻辑地址空间物理地址空间0100003000逻辑地址重定位寄存器+程序的链接链接是将编译后得到的各个目标模块以及所需的库函数连接在一起,形成一个完整的装入模块。链接程序要将各个目标模块中的相对地址和外部调用符号转换成装入模块中的统一的相对地址。程序链接示例模块ACALLB;Retu
本文标题:第二章操作系统运行环境
链接地址:https://www.777doc.com/doc-921951 .html