《操作系统运的行环境.ppt》由会员分享,可在线阅读,更多相关《操作系统运的行环境.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、西安理工大学高科学院李杨第二章第二章 操作系统的运行环境操作系统的运行环境2.1 计算机系统的结构 2.2 中央处理机 2.3 计算机的存储结构 2.4 计算机系统的I/O系统结构2.5 中断技术2.6 多道程序设计技术 任何系统软件都是硬件功能的延伸任何系统软件都是硬件功能的延伸,并且都是建并且都是建立在硬件的基础上立在硬件的基础上,离不开硬件设备的支持离不开硬件设备的支持.而操作而操作系统更是直接依赖于硬件条件系统更是直接依赖于硬件条件,与硬件的关系尤为密与硬件的关系尤为密切切.因此因此,本章主要讨论操作系统要用到的基本的硬本章主要讨论操作系统要用到的基本的硬件技术和概念件技术和概念.2.
2、1 计算机系统的结构 计算机系统计算机系统=硬件硬件+软件软件软件:软件:系统软件、支援软件、应用软件系统软件、支援软件、应用软件硬件:硬件:中央处理器、存储器、中央处理器、存储器、I/OI/O控制系统及外设控制系统及外设OSWINDOWdos.UNIX.应用程序裸机(硬件)2.2 中央处理机 CPUCPU是是计计算算机机系系统统中中最最核核心心的的组组成成部部分分,它它具具有有指指令令控控制制、操作控制、时间控制、数据据算的功能。操作控制、时间控制、数据据算的功能。OS 作为一个程序要在作为一个程序要在CPU上运行上运行 2.2.1 CPU的组成 控制器运算器寄存器 2.2.2 CPU的工作
3、状态和运行现场 1 1、CPUCPU的工作状态的工作状态CPU有时执行用户程序,有时执行操作系统的程序。如何识别当前的使用者是操作系统还是一般用户,这赖于处理机状态的标识,它将处理机工作状态划分为:管态、目态。管态(系统态)管态(系统态)一般指操作系统管理程序运行的状态 简称管态,即OS 运行态,此时可使用特权指令和非特权指令。目态(用户态)目态(用户态)用户程序运行态,只允许访问用户程序自己的存贮区域,如果用户程序在执行时,企图访问OS 所在的区域或想使用某个特权指令(如改变指令计算器的内容),将立即被捕俘,而被迫中止执行,然后由OS 处理这一事件,这样保证了OS 的权利和使其程序不会被破坏
4、。当处理机处在目态中,不可使用特权指令。CPU具体是通过什么方法,来识别处理器的状态?以及处理器何以知道它要执行哪条指令?2 2、CPUCPU的现场的现场 为了解决这些问题,所有的计算机都有若干的特殊寄存器。比如:指令计数器、程序状态字寄存器、通用寄存器和一些特殊的寄存器。他们通常用来保存CPU的现场信息。3 3、PSWPSW(Program Status WordProgram Status Word)寄存器)寄存器PSW 程序状态字,指示处理机状态。PSW包含:条件码:反映指令执行后的结果特征。中断屏蔽码:指出是否允许中断(中断优先级)CPU的工作状态:管态还是目态。M68000的程序状态
5、字的程序状态字(微机微机)16位字位字P20PIC21TSI2X N Z V CI1I01513108430自陷中断位(跟踪)CPU状态位1:管态0:目态中断屏蔽位负数结果为0溢出进位标志位条件码Trap 连机调试,排错用优先级 07IBM370大型机的大型机的PSW程序状态字程序状态字P21PIC2-2系统屏蔽钥 EMWP 中断码ILC CC 程序屏蔽指令地址0711153133353963位E是机器的控制方式,M位是机器校验方式位,W位是等待状态位,P位是处理器工作状态位(0管态、1目态)。指出指出CPU是否接受特定通道的中断。是否接受特定通道的中断。供存储保护使用供存储保护使用供程序员回
6、溯指令用供程序员回溯指令用含有条件码的当前值含有条件码的当前值接受中断的编码信息接受中断的编码信息指出指出CPU是否接受某种程序性中断是否接受某种程序性中断指出将要被执行的下一条指令的地址指出将要被执行的下一条指令的地址 2.2.3 特权指令与非特权指令 1 1、计算机的指令系统、计算机的指令系统计算机的指令大致分为以下5类:数据处理类指令转移类指令数据传送类指令移位与字符串指令I/O类指令2.特权指令 在多用户的多道程序设计环境中在多用户的多道程序设计环境中,计算,计算机的指令系统中的指令必须分为两部分机的指令系统中的指令必须分为两部分特权指令非特权指令特权指令特权指令定义:定义:指令系统中
7、那些只能由OS 使用的指令。用途:用途:启动外部设备,设置时钟,清内存等。用户只能使用非特权指令,只有OS才能使用所有指令(包括特权指令)。在单用户单任务的环境下,对指令则不必进行划分.w主存主存辅存辅存层次层次w目的目的:较好地解决了存储器的大容量要求和低:较好地解决了存储器的大容量要求和低w成本之间的矛盾。成本之间的矛盾。w 根据主存、辅存的特点,可以把根据主存、辅存的特点,可以把CPU所需所需w的现行程序和数据存放在存取速度快、容量有的现行程序和数据存放在存取速度快、容量有w限的主存中,供限的主存中,供CPU直接使用,主存必须具有直接使用,主存必须具有w与与CPU相匹配的工作速度才能保证
8、整个计算机相匹配的工作速度才能保证整个计算机w运算速度的提高。一般的运算速度的提高。一般的MOS存储器(特存储器(特w别是别是DRAM)无论从速度、容量、每位价格上)无论从速度、容量、每位价格上w均可满足要求。均可满足要求。2.3 计算机的存储结构 主存辅存构成的存储层次。从整个层次的整体上看,它具有接近主存的存取速度,又有辅存的容量和接近于辅存的每位平均价格。较好地解决了大容量和低成本的矛盾。辅存只与主存交换信息,CPU不直接访问辅存,因此,允许辅存的速度慢一些。wCACHE主存主存层次层次w目的目的:弥合弥合CPU与主存间在速度上的差异,与主存间在速度上的差异,w较好地解决了速度和成本之间
9、的矛盾。较好地解决了速度和成本之间的矛盾。w 当今微处理器的主频已经相当高,如果当今微处理器的主频已经相当高,如果w访问存储器时插入等待周期,这实际上是降访问存储器时插入等待周期,这实际上是降w低低CPU的工作速度。因此一个有效的解决办的工作速度。因此一个有效的解决办w法应运而生:在法应运而生:在CPU和主存储器之间增设了和主存储器之间增设了w一级或两级高速小容量存储器,称之为高速一级或两级高速小容量存储器,称之为高速w缓冲存储器,简称缓冲存储器,简称Cache。高速缓冲存储器的存取速度要比主存快一个数高速缓冲存储器的存取速度要比主存快一个数量级,大体与量级,大体与CPU的处理速度相当。的处理
10、速度相当。Cache中存放中存放着主存的一部分副本,可被着主存的一部分副本,可被CPU直接访问,是解决直接访问,是解决计算机系统速度瓶颈的切实可行的办法。从计算机系统速度瓶颈的切实可行的办法。从CPU的的角度看,角度看,Cache主存层次具有接近主存层次具有接近Cache的速的速度、主存的容量和接近主存的每位平均价格,因度、主存的容量和接近主存的每位平均价格,因此,较好地解决了速度和成本之间的矛盾。在这个此,较好地解决了速度和成本之间的矛盾。在这个层次中,不仅具有层次中,不仅具有CPUCache主存的数据通主存的数据通路,还有路,还有CPU主存的直接通路。具有这个存储层主存的直接通路。具有这个
11、存储层次的计算机,必须事先把次的计算机,必须事先把CPU在某一小段时间所要在某一小段时间所要执行的程序从主存调入执行的程序从主存调入Cache中,当中,当CPU要执行这要执行这些程序时,就直接在些程序时,就直接在Cache中取存,因此,大大提中取存,因此,大大提高了高了CPU的执行速度。的执行速度。在现代计算机中,大多数系统都同时采用在现代计算机中,大多数系统都同时采用上述两级存储层次,从而构成了高速缓存上述两级存储层次,从而构成了高速缓存主存主存辅存三级存储层次的典型结构,辅存三级存储层次的典型结构,实质上是实质上是主存主存辅存辅存和和Cache主存主存两两个两级结构。个两级结构。中央处理器
12、主存外存快存CPUM1M2M3三级存储器的结构示意图输入/输出设备与CPU信息交换时有什么问题?外部设备种类繁多,从工作原理来讲,可分为机械式、电动式、电子式和其它形式等几类。它们对所传输的信息的要求也各不相同,这就给计算机和外设之间的信息交换带来以下一些问题:(1)速度不匹配:CPU的速度很高,而外设的速度要低得多,而且不同的外设速度差异甚大,它们之中既有每秒钟能传送兆位数量级的硬磁盘,也有每秒钟只能打印百位字符的串行打印机或速度更慢的键盘。(2)信号电平不匹配:CPU所使用的信号都是TTL电平,而外设大多是复杂的机电设备,往往不能用TTL电平所驱动,必须有自己的电源系统和信号电平。(3)信
13、号格式不匹配:CPU系统总线上传送的通常是8位、16位或32位的并行数据,而各种外设使用的信息格式各不相同。有些设备上用的是模拟量,而有些是数字量或开关量;有些设备上的信息是电流量,而有些却是电压量,有些设备采用串行方式传送数据,而有些则用并行方式。(4)时序不匹配:各种外设都有自己的定时和控制逻辑,与计算机的CPU时序不一致。2.4 计算机的I/O结构 什么是输入/输出接口?因此,要实现外部设备与主机之间的连接(connection)和信息交换,必须经过一个数据转换和传输的设备。这种设备,我们叫做I/O接口(interface)。w为了使为了使CPUCPU能适应各种各样的外设,就需要在能适应
14、各种各样的外设,就需要在CPUCPU与与外设之间增加一个接口电路,由它完成相应的信号外设之间增加一个接口电路,由它完成相应的信号转换、速度匹配、数据缓冲等功能,以实现转换、速度匹配、数据缓冲等功能,以实现CPUCPU与外与外设的连接,完成相应的输入输出操作。设的连接,完成相应的输入输出操作。w一个接口的基本作用是在系统总线和一个接口的基本作用是在系统总线和I/OI/O设备之间架设备之间架起一座桥梁,以实现起一座桥梁,以实现CPUCPU与与I/OI/O设备之间的信息传输。设备之间的信息传输。2.4.1 I/O部件 尽管不同功能的接口实际电路差别很大,但逻辑上都包括控制部件、状态寄存器、数据寄存器
15、与缓冲电路等,如下图 在总线结构的计算机系在总线结构的计算机系统中,统中,CPUCPU和存储器及和存储器及I/OI/O设备之间都是通过总线连设备之间都是通过总线连接,经过总线来交换数据。接,经过总线来交换数据。2.4.2 总线型I/O结构控制总线控制总线数据总线数据总线地址总线地址总线 主存与外设之间的数据不经过处理机而直接传输主存与外设之间的数据不经过处理机而直接传输称为直接内存访问(称为直接内存访问(Direct memory accessDirect memory access)方式。)方式。2.4.3 DMA控制器为了实现在主机与控制器之间成块数据的直接交换,必须在DMA控制器中设置如
16、下四类寄存器:(1)命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制信息,或设备的状态。(2)内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。(3)数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。(4)数据计数器DC。存放本次CPU要读或写的字(节)数。I/O通道通道(I/O Channel)设备的引入设备的引入 实际上,实际上,I/O通道是一种特殊的处理机。它具有执行通道是一种特殊的处理机。它具有执行I/O指指令的能力,并通过执行通道令的能力,并通过执行通道(I/O)程序来控制程序来控制I/O操
17、作。但操作。但I/O通道又与一般的处理机不同,主要表现在以下通道又与一般的处理机不同,主要表现在以下两个两个方面:方面:一是一是其指令类型单一,这是由于通道硬件比较简单,其指令类型单一,这是由于通道硬件比较简单,其所能其所能执行的命令,主要局限于与执行的命令,主要局限于与I/O操作有关的指令;操作有关的指令;二是二是通道通道没有自己的内存,通道所执行的通道程序是放在主机的内存没有自己的内存,通道所执行的通道程序是放在主机的内存中的,中的,换言之,是通道与换言之,是通道与CPU共享内存。共享内存。2.4.4 通道结构 I/O通道通道(I/O Channel)设备的引入设备的引入 实际上,实际上,
18、I/O通道是一种特殊的处理机。它具有执行通道是一种特殊的处理机。它具有执行I/O指指令的能力,并通过执行通道令的能力,并通过执行通道(I/O)程序来控制程序来控制I/O操作。但操作。但I/O通道又与一般的处理机不同,主要表现在以下通道又与一般的处理机不同,主要表现在以下两个两个方面:方面:一是一是其指令类型单一,这是由于通道硬件比较简单,其指令类型单一,这是由于通道硬件比较简单,其所能其所能执行的命令,主要局限于与执行的命令,主要局限于与I/O操作有关的指令;操作有关的指令;二是二是通道通道没有自己的内存,通道所执行的通道程序是放在主机的内存没有自己的内存,通道所执行的通道程序是放在主机的内存
19、中的,中的,换言之,是通道与换言之,是通道与CPU共享内存。共享内存。中断简介:中断简介:定义:CPU对系统中发生的异步事件的响应异步事件:指无一定时序关系的随机发生的事件。例如你正在看书,此时电话响了(异步事件),于是你用书签记住正在看的那一页(中断点),再去接电话(响应异步事件并进行处理),接完电话后再从被打断的那页书继续向下看(返回原程序的中断点执行).关于中断的几个概念关于中断的几个概念:中断源(中断事件):引起中断的那些事件中断处理程序:处理中断事件的程序 2.5 中断技术(1)能充分发挥处理机的使用效率:因为输入输出设备可以用中断的方式同CPU通讯,报告其完成CPU所要求的数据传输
20、的情况和问题,这样可以免除CPU不断地查询和等待,从而大大提高处理机的效率。中断具有的作用:中断具有的作用:(2)提高系统的实时处理能力:因为具有较高实时处理要求的设备,可以通过中断方式请求及时处理,从而使处理机立即运行该设备的处理程序。中断的种类很多,例如IBM-PC就有256种不同的中断。一般中断按其功能来分可有以下几大类:(1)机器故障中断机器故障中断:电源故障中断,机器电路检验错误中断(2)输入输入/输出中断输出中断:用以反映输入输出设备和通道的数据传输状态.如:键盘、显示器、磁盘等I/O中断.(3)外部中断外部中断:如:时钟中断,操作员控制台中断,多机系统中CPU到CPU通讯中断开机
21、、操作员选择执行任务、操作员对某项任务的监视工作等开机、操作员选择执行任务、操作员对某项任务的监视工作等为了在处理为了在处理I/O请求时进一步减少中断处理次数和处理器的占用时间,请求时进一步减少中断处理次数和处理器的占用时间,把对外设的管理和控制工作从把对外设的管理和控制工作从CPU中分离出来,使中分离出来,使I/O控制器更具智能控制器更具智能化,这种化,这种I/O控制器称为通道控制器称为通道 2.5.2 中断的分类(5)访管中断访管中断:是用户程序和操作系统之间唯一一个相通的“门户”,用户程序可以通过访管指令引起中断并调用操作系统相应的功能模块为其服务。(4)程序性中断程序性中断:程序中的问
22、题引起的中断,如除法错误中断,溢出中断,错误地使用指令等。如:用户要求操作系统为其分配一块主存这五类中断又可按中断方式不同划为:自愿中断自愿中断:是正在运行的程序期待的事件,这种事件是由于执行了一条访管指令而引起的。强迫性中断强迫性中断:是由随机事件引起的,并非由程序设计人员事先安排的。外中断和内中断w 根据中断与CPU的相对关系,中断分为内部中断和外部中断。w 内部中断可以是中断指令设置的中断,调试程序时设置的中断,或是程序运行过程中发生的非预期情况而产生的中断;w 外部中断则是由直接连到CPU引脚上的信号引起的中断,如外部设备请求服务中断,实时时钟定时到中断,电源掉电等。中断优先级中断优先
23、级 2.5.3 中断的优先级、中断嵌套和中断屏蔽 一个系统中有多个中断源,存在着几个中断源同时请求的可能;因此,必须事先根据中断源的重要性,给每个中断源确定一个中断优先级别优先权。中断响应时,CPU应能首先响应优先权级别高的中断源。在大型机中,中断优先级按中断类型划分,以机器故障中断的优先级最高,程序中断和访问管理程序中断次之,外部中断再次之,输入输出中断的优先级最低。中断嵌套中断嵌套在中断服务处理过程中:若新的中断申请其优先级别更高,则CPU应再一次中断,转去优先权更高的中断源服务。处理完后,再回到原来的中断服务中,这也称为中断嵌套。在中断服务处理过程中:若新的中断源优先权级别为同级或低级,
24、则CPU暂不理会,继续正在处理的中断服务,直到当前中断处理结束后再去处理新的中断申请。这就是中断屏蔽技术。中断屏蔽中断屏蔽2.5.4 中断处理过程 一个中断过程应该包含以下五个过程:(1)中断请求(2)中断排队(3)中断响应(4)中断服务(5)中断返回1、中断请求中断请求外外设设需需要要CPU服服务务时时,首首先先要要发发出出中中断断请请求求。发发出出中中断断请求的外设就是中断源。请求的外设就是中断源。广义地说,能引起广义地说,能引起CPU程序产生中断的随机事件都称为程序产生中断的随机事件都称为中断源。不仅外部可以产生中断,中断源。不仅外部可以产生中断,CPU的内部也可以产生中的内部也可以产生
25、中断。这些中断源的共同特点是都需要断。这些中断源的共同特点是都需要CPU对其进行适当的处对其进行适当的处理理。2、中断判优中断判优当系统具有若干个中断源时,若某一时刻有两个及以上当系统具有若干个中断源时,若某一时刻有两个及以上的中断源同时发出中断请求,因为的中断源同时发出中断请求,因为CPU往往只有一条中断请往往只有一条中断请求线(求线(INTR),而),而CPU任一时刻只能响应并处理一个中断,任一时刻只能响应并处理一个中断,这就要求这就要求CPU判别优先级最高的中断源并响应之。判别优先级最高的中断源并响应之。中断判优中断判优就是要解决请求中断的事件优先级的顺序问题就是要解决请求中断的事件优先
26、级的顺序问题。中断判优的方法有软件判优和硬件判优两种。软件判优电中断判优的方法有软件判优和硬件判优两种。软件判优电路简单,判优速度慢;硬件判优电路复杂,判优速度快。路简单,判优速度慢;硬件判优电路复杂,判优速度快。3 3、中断响应、中断响应中断响应就是中断响应就是CPU中断现正在进行的处理任务,转向中断请中断现正在进行的处理任务,转向中断请求相对应的中断处理程序的过程求相对应的中断处理程序的过程。在中断响应过程中应解决以下。在中断响应过程中应解决以下四个问题:四个问题:保护断点保护断点,保护现场保护现场(如标志寄存器或其他寄存器);(如标志寄存器或其他寄存器);CPU关中断关中断,不允许此时被
27、新的中断源所打断;,不允许此时被新的中断源所打断;转入中断请求所转入中断请求所对应的处理程序对应的处理程序。最后一个问题是实现最后一个问题是实现CPU控制权的转移,它是中断响应过程控制权的转移,它是中断响应过程的关键。其实质是的关键。其实质是如何由中断源得到相应服务程序的入口地址的如何由中断源得到相应服务程序的入口地址的问题问题。现在常用的方法是采用中断向量,即由所相应的中断源在。现在常用的方法是采用中断向量,即由所相应的中断源在中断响应时间向中断响应时间向CPU提供自己的中断向量号,提供自己的中断向量号,CPU根据中断向量根据中断向量号就能够找到中断服务程序的入口地址,进而转入中断服务程序。
28、号就能够找到中断服务程序的入口地址,进而转入中断服务程序。4、中断处理、中断处理中断处理就是执行中断服务程序,以完成中断源提中断处理就是执行中断服务程序,以完成中断源提出的处理要求出的处理要求,中断服务处理程序是软件编程问题,与,中断服务处理程序是软件编程问题,与子程序的编写原则类似。在中断服务程序中,用子程序的编写原则类似。在中断服务程序中,用STI指令指令开中断,以实现中断嵌套,并对服务程序中的所用的寄开中断,以实现中断嵌套,并对服务程序中的所用的寄存器应预先保护(若中断响应中存器应预先保护(若中断响应中CPU不是自动保护的话)不是自动保护的话),而在服务程序后面加入恢复现场的语句。,而在
29、服务程序后面加入恢复现场的语句。5 5、中断返回、中断返回中断返回就是控制权由中断服务程序转移到被中断程中断返回就是控制权由中断服务程序转移到被中断程序的过程。序的过程。执行中断返回指令与一般执行中断返回指令与一般“返回主程序返回主程序”指令类指令类似。所不同的是,大多数中断返回指令还有其他的附加功能,似。所不同的是,大多数中断返回指令还有其他的附加功能,例如部分或全部恢复例如部分或全部恢复CPU的现场(除程序计数器外,还有标的现场(除程序计数器外,还有标志寄存器志寄存器FR等),有些等),有些CPU的中断返回指令可自动恢复全的中断返回指令可自动恢复全部通用寄存器的内容。部通用寄存器的内容。中
30、断处理的过程:New(IP)New(CS)Old(IP)Old(CS)Old(PSW)IPCSPSW80861、将处理器的程序状态字PSW压入堆栈。4N4N+2中断指针12、将指令指针IP(相当于程序代码段的段内相对地址)和程序代码段基地址寄存器CS的内容压入堆栈,以便保存被中断程序的返回地址(IP+CS)。23、取来被接受的中断请求的中断向量地址(IP+CS),以便转入中断处理程序。3NEW(PSW)4、按中断向量地址把中断处理程序的程序状态字取来,放入处理器的程序状态字存储器中。4中断中断(软中断除外软中断除外)是随机发生的事件,是随机发生的事件,CPU在每个指在每个指令周期都要巡视中断源
31、,也就是说,在程序的执行过程中,令周期都要巡视中断源,也就是说,在程序的执行过程中,随时有可能中止当前程序,转移到正在申请的中断源对应随时有可能中止当前程序,转移到正在申请的中断源对应的中断服务程序中去。的中断服务程序中去。问题:问题:CPU如何找到中断服务程序的地址?如何找到中断服务程序的地址?补充知识:中断向量表w 中断向量即中断服务程序的入口地址,用两个字表示,低字是IP,高字是CS。w 将所有中断源的中断向量集中存储在内存的指定空间内,这样一个指定的存储区称为中断向量表;w 8086/8088的中断类型码用8位二进制表示,共有从n=0FFH,256个中断向量;w 中断向量表建立在内存空
32、间最低1K地址;w 地址范围:00000H 003FFH(即CS=0000H)。w注意:中断类型码只能决定存放中断向量的地址,并不能决定中断向量本身和中断服务程序的功能。8086系统一共有系统一共有256个中断源,将这些中断源都编上号,依次个中断源,将这些中断源都编上号,依次是是00HFFH号,这个号就称为号,这个号就称为中断类型号中断类型号。如溢出中断为。如溢出中断为4号中断号中断等。等。每个中断类型号都对应着相应的中断服务程序,这些中断服每个中断类型号都对应着相应的中断服务程序,这些中断服务程序可以存放在存储器的任何位置。务程序可以存放在存储器的任何位置。但一旦程序运行,这些中服但一旦程序
33、运行,这些中服的入口地址在存储器中都是已知、固定的,的入口地址在存储器中都是已知、固定的,每个中服程序的入口地每个中服程序的入口地址称为一个中断向量址称为一个中断向量。将这些中断类型号对应的中服入口地址集中起来列成一个表,将这些中断类型号对应的中服入口地址集中起来列成一个表,放到存储器的固定区域内,这个放到存储器的固定区域内,这个按顺序存放中服入口地址的表就称按顺序存放中服入口地址的表就称为中断向量表为中断向量表。中断向量表存放在存储器的底部,中断向量表存放在存储器的底部,每每个中服地址个中服地址(中断向量中断向量)占用占用4个单元个单元(CS:IP),8086一共有一共有256个中断源,因此
34、个中断源,因此中断向量表占用中断向量表占用4256=1024个存储单元,个存储单元,地址为地址为:00000H003FFH。AABBCCDDMMNNXXYY00000H003FFH00004H00008H0号中断中服地址:号中断中服地址:MMNNH:XXYYH1号中断中服地址:号中断中服地址:AABBH:CCDDH在中断系统中,有在中断系统中,有相当一部分中断源相当一部分中断源没有定义,即中断没有定义,即中断向量空着,等待分向量空着,等待分配。配。8086系系统统对对256种种中中断断类类型型号号已已进进行行了了地地址址分分配配,其其中中类类型型号号04为为专专用用中中断断,对对应应的的中中断
35、断服服务务程程序序的的入入口口地地址址已已由由系系统统定定义义,用用户户不不能能更更改改。类类型型04分分别别用用于于除除法法出出错错、单单步步中中断断、NMI中中断断、断点中断和溢出中断。断点中断和溢出中断。类类型型05H3FH为为系系统统使使用用的的中中断断,(CPU公公司司和和操操作作系系统统的的公公司司)已已开开发发使使用用了了其其中中的的大大部部分分。例例如如类类型型08H0FH为为8259A中中断断向向量量号号,10H1FH为为BIOS专专用用中中断断向向量量号号,20H3FH为为DOS专用向量号,其中的专用向量号,其中的21H为为DOS功能调用。功能调用。用户可以使用用户可以使用
36、40H以后的系统未保留的中断向量号。以后的系统未保留的中断向量号。AABBCCDDMMNNXXYY00000H003FFH00004H00008H如何根据中断类型号获取中服入口地址?如何根据中断类型号获取中服入口地址?CPU将中断类型号乘将中断类型号乘4,即获得存放该中服地,即获得存放该中服地址的中断向量表的首地址,址的中断向量表的首地址,从该地址处开始的从该地址处开始的4个单元存放的即是所需要的中服地址个单元存放的即是所需要的中服地址。4n+34n+2:4n+14n例如:中断类型号例如:中断类型号70H,存放中服地址的存储,存放中服地址的存储空间为:空间为:70H401,1100,0000B
37、=1C0H1C3H1C2H-CS1C1H1C0H-IP执行中服执行中服1)多道程序设计技术多道程序设计技术所谓多道程序设计技术,就是:所谓多道程序设计技术,就是:允许多个程序同时进入内存并运行允许多个程序同时进入内存并运行。即:。即:同同时时把把多多个个程程序序放放入入内内存存,并并允允许许它它们们交交替替在在CPUCPU中中运运行行,它它们们共共享享系系统统中中的的各各种种硬硬、软软件件资资源源。当当一一道道程程序序因因I/OI/O请请求而暂停运行时,求而暂停运行时,CPUCPU便立即转去运行另一道程序。便立即转去运行另一道程序。单单道程序与道程序与多多道程序的运行过程如道程序的运行过程如图
38、图1.51.5和和图图1.61.6所示。所示。2.6 多道程序设计技术 在在A A程序计算时,程序计算时,I/OI/O空闲,空闲,A A程序程序I/OI/O操作时,操作时,CPUCPU空闲(空闲(B B程序也是同样);程序也是同样);必须必须A A工作完成后,工作完成后,B B才能进入内存中开始工作,才能进入内存中开始工作,两者是串行的,全部完成共需时间两者是串行的,全部完成共需时间=T1+T2=T1+T2。改进改进A A程序计算程序计算程序计算程序计算AI/OAI/O请求请求请求请求AA计算计算计算计算BB程序计算程序计算程序计算程序计算BI/OBI/O请求请求请求请求BB计算计算计算计算
39、T1T2T1T2AI/OAI/O操作操作操作操作BI/OBI/O操作操作操作操作CPUCPU工作工作工作工作I/OI/O工作工作工作工作图图图图1.51.5单道程序工作示例单道程序工作示例单道程序工作示例单道程序工作示例 可可将将A A、B B两两道道程程序序同同时时存存放放在在内内存存中中,它它们们在在系系统统的的控控制制下下,可可相相互互穿穿插插、交替地在交替地在CPUCPU上运行:上运行:当当A A程序因请求程序因请求I/OI/O操作而放弃操作而放弃CPUCPU时,时,B B程序就可占用程序就可占用CPUCPU运行运行,这样:,这样:CPU CPU不再空闲,而正进行不再空闲,而正进行A
40、I/OA I/O操作的操作的I/OI/O设备也不空闲,设备也不空闲,显然,显然,CPUCPU和和I/OI/O设备都处于设备都处于“忙忙”状态,状态,大大大大提高提高了资源的利用率,从而也了资源的利用率,从而也提高提高了系统的效率了系统的效率,A A、B B全部完成所需时间全部完成所需时间T1+T2T1+T2。T2T2AI/OAI/O请求请求请求请求BI/OBI/O请求请求请求请求BI/OBI/O操作操作操作操作A A计算计算计算计算BB计算计算计算计算AA计算计算计算计算BB计算计算计算计算 T1T1 AI/OAI/O操作操作操作操作 CPUCPU工作工作工作工作图图图图1.61.6多道程序工
41、作示例多道程序工作示例多道程序工作示例多道程序工作示例在OS中引入多道程序设计技术可带来以下好处:(1)提高CPU的利用率。当内存中仅有一道程序时,每逢该程序在运行中发出I/O请求后,CPU空闲,必须在其I/O完成后才继续运行;尤其因I/O设备的低速性,更使CPU的利用率显著降低。(2)可提高内存和I/O设备利用率。为了能运行较大的作业,通常内存都具有较大容量,但由于80%以上的作业都属于中小型,因此在单道程序环境下,也必定造成内存的浪费。类似地,对于系统中所配置的多种类型的I/O设备,在单道程序环境下也不能充分利用。如果允许在内存中装入多道程序,并允许它们并发执行,则无疑会大大提高内存和I/
42、O设备的利用率。(3)增加系统吞吐量。在保持CPU、I/O设备不断忙碌的同时,也必然会大幅度地提高系统的吞吐量,从而降低作业加工所需的费用。单处理机系统中多道程序运行时的单处理机系统中多道程序运行时的单处理机系统中多道程序运行时的单处理机系统中多道程序运行时的特点特点特点特点:(1 1 1 1)多道)多道)多道)多道:计算机内存中同时存放几道相互独立的程序;:计算机内存中同时存放几道相互独立的程序;:计算机内存中同时存放几道相互独立的程序;:计算机内存中同时存放几道相互独立的程序;(2 2 2 2)宏观上并行)宏观上并行)宏观上并行)宏观上并行:同时进入系统的几道程序都处于运行:同时进入系统的
43、几道程序都处于运行:同时进入系统的几道程序都处于运行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕;过程中,即它们先后开始了各自的运行,但都未运行完毕;过程中,即它们先后开始了各自的运行,但都未运行完毕;过程中,即它们先后开始了各自的运行,但都未运行完毕;(3 3 3 3)微观上串行)微观上串行)微观上串行)微观上串行:实际上,各道程序轮流地用:实际上,各道程序轮流地用:实际上,各道程序轮流地用:实际上,各道程序轮流地用CPUCPUCPUCPU,交替运行。交替运行。交替运行。交替运行。(4 4 4 4)调度性)调度性)调度性)调度性:处理器及资源需管理和调度。:处理器及资源需管理和调度。:处理器及资源需管理和调度。:处理器及资源需管理和调度。多道程序系统的出现,标志着操作系统多道程序系统的出现,标志着操作系统渐趋成熟渐趋成熟的的阶段,先后出现了阶段,先后出现了:作业调度管理、作业调度管理、处理机管理、处理机管理、存储器管理、存储器管理、外部设备管理、外部设备管理、文件系统管理、等功能。文件系统管理、等功能。
限制150内