《操作系统第八章》PPT课件_第1页
《操作系统第八章》PPT课件_第2页
《操作系统第八章》PPT课件_第3页
《操作系统第八章》PPT课件_第4页
《操作系统第八章》PPT课件_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

第八章设备管理,本章主要内容:设备管理的功能和任务、数据传送控制方式、中断技术、缓冲技术、设备分配、IO控制系统、设备驱动程序等内容,8.1.1设备分类,按使用特性分类:存储设备输入输出设备终端设备4.脱机设备P224图按从属关系分类:系统设备用户设备按信息组织方式分类:块设备字符设备,8.1.2设备管理的功能和任务,主要任务:见P224,主要功能:,8.2数据传送控制方式,什么是数据传送控制方式:数据传送控制方式是指如何控制设备与内存之间的数据传输过程的方式。控制三原则P225,程序(CPU)直接控制方式,中断驱动方式,DMA控制方式,通道控制方式,数据传输控制方式的发展过程,8.3中断技术,中断:是指计算机在执行期间系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程,中断源、响应中断、处理中断,禁止中断:PSW中的中断允许位清除。用来禁止和开放中断(为保证原子性)。P233,屏蔽中断:PSW中的中断屏蔽字段。每位对应一类中断的中断屏蔽触发器。用软件方法可以设置。用于屏蔽某些中断。P233,中断的基本概念:p233,PSW即程序状态字ProgramStatusWord用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,如有无进位(CF位),有无溢出(OF位),结果正负(SF位),结果是否为零(ZF位),奇偶标志位(PF位)等;另一类是存放控制信息,如允许中断(IF位),跟踪标志(TF位)等。有些机器中将PSW称为标志寄存器FR(FlagRegister)。,中断的基本概念(续),中断向量:PSW处理程序的入口地址。每类中断有对应的PSW及处理程序的入口地址。关中断:即禁止中断,系统不响应中断。中断嵌套:在处理中断的同时又响应别的中断。屏蔽中断的运用P233:在中断请求产生后,可以用屏蔽中断的方法。屏蔽同级或同级以下的中断。可用提高处理机优先级的方法禁止中断和屏蔽某些中断。,中断的分类与优先级,外中断:是指来自处理机和内存外部的中断。包括I/O中断、外部信号中断、各种定时器引起的时钟中断以及调试程序中设置的中断点等引起的调试中断等。狭义上一般称为中断。,内中断:主要指在处理机和内存内部产生中断。内中断一般称为陷阱。它包括程序运算引起的各种错误、系统调用等。,中断优先级:按中断源的轻重缓急响应中断,操作系统对不同的中断赋予不同的优先级。中断优先级决定系统响应中断的优先次序。处理机优先级:现行程序的优先级,可用来禁止中断和屏蔽中断。,中断与陷阱的区别,陷阱通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。陷阱处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的。CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应陷阱。,软中断,软中断和硬中断:软中断是通信进程之间用来模拟硬件中断的一种信号通信方式。硬中断通过硬件产生相应的终端请求。,实现软中断通信的系统调用(如unix):,kill(pid,sig)发送软中断信号signal(sig,func)进程设置软中断信号到达时的处理方式,中断处理过程:,中断处理过程(续),I/O中断的处理的控制过程、形式化描述:I/OInterruptprocessingcontrol:beginunusableI/OInterruptflagsavestatusofinterruptprogramifInputDeviceiReadythenCallInputDeviceiControlfiifOutputDeviceiReadythenCallOutputDeviceiControlfiifDataDeliverDonethenCallDataDeliverDoneControlfirestoreCPUstatusresetI/OInterruptflagendInputDeviceiControl:OutputDeviceiControl:DataDeliverDoneControl:,直接存储访问方式(DMA,DirectMemoryAccess),工作方式:由程序设置DMA控制器中的若干寄存器值(如内存始址,传送字节数),然后发起I/O操作;在DMA控制之下完成内存与外设的成批数据交换,在操作完成时由DMA控制器向CPU发出中断。特点:DMA与CPU分是共享总线,DMA通过挪用总线周期的方式把数据缓冲寄存器中的数据直接送到内存地址寄存器所指向的内存区域。,接下页,DMA方式下的I/O传送结构,见P229图9.5,接下页,DMA方式下的数据传送处理过程,见P210图8.6,接下页,直接存储访问方式优缺点,优点:CPU只需干预I/O操作的开始和结束,而一批数据传输由DMA控制,无需CPU控制,提高了CPU与设备的并行工作程度,排除了中断方式中的数据丢失现象。适于高速设备。如:磁盘,缺点:DMA方式对外围设备的管理和某些操作仍由CPU控制。系统中多个DMA同时使用,可能造成内存地址冲突。管理和控制复杂化。DMA方式一次只能传送一批地址连续的数据块,如果需传送多个地址不连续的数据块,则需启动DMA多次。,返回,通道控制方式(channelcontrol),通道的定义及工作方式:通道是一个独立于CPU的专管输入输出控制的处理机,它控制设备与内存直接进行数据交换。它有自己的通道指令,由通道指令构成通道程序。由CPU启动通道工作,通道通过执行通道程序控制数据传输,并在操作结束时向CPU发中断信号,由CPU进行传输结束中断处理通道。,接下页,通道指令包括:1)操作码2)内存地址3)读或写的字节计数4)记录结束标志R5)通道程序结束位P,通道程序,接下页,通道程序:通道程序根据进程提出的数据传输要求由系统自动生成,存放在内存。,通道程序示例:一个六条通道指令所构成的简单通道程序,其功能是将内存中不同地址的数据写到三个记录中。,通道方式的数据传输结构,通道类型:选择通道(selectorchannel):可以连接多个外设,而一次只能访问其中一个外设,执行一道通道程序(单道工作方式)。以块为单位传送数据,速度快,适合高速外部设备。如:磁盘,磁带。字节多路(bytemultiplexorchannel)通道:以字节为单位传送数据,多个外设分时轮流使用通道(分时系统工作方式)。适合连接低速字符设备。数组多路(blockmultiplexorchannel)通道:以块为单位传送数据,可以并发访问多个外设,分时执行多道通道程序。适合连接中高速外部设备。如:磁盘,磁带。,接下页,通道方式的数据传输结构:见P231图9.7,通道方式的数据输入处理过程,接下页,通道控制方式的描述过程见P232,通道控制方式的处理过程:当进程要求设备输入数据时,CPU执行Start指令指明I/O操作、通道程序地址、设备号和对应的通道。对应通道接收到CPU发来的启动指令之后开始工作,把存放在内存中的通道指令程序读出并执行,并设置对应设备的I/O控制其中的控制状态寄存器,是设备开始工作。设备准备好数据,由通道把数据送往通道指令指定的内存区域。若数据传送结束,通道通过中断请求线发中断信号请求CPU做中断处理。,通道控制方式优点,优点:启动一次通道执行一个通道程序可以传送几批地址不连续的数据块。数据传输过程中对CPU的干扰比DMA更少,CPU利用率更高,对通道的控制更简单。通道通过执行通道程序控制输入输出,比较灵活。,返回,程序直接控制方式p225,程序直接控制方式(programmeddirectI/O):由CPU直接控制内存和外围设备之间的信息传送。I/O操作由程序发起,并等待操作完成。数据的每次读写通过CPU控制,包括发送读写命令、循环测试设备状态、传输数据。,接下页,(b),程序直接控制方式图示,接下页,程序直接控制方式示例CPU控制控制输入数据过程示例,接下页,程序直接控制方式优缺点,返回,优点:控制简单。缺点:1)CPU和外围设备只能串行工作。2)CPU在一段时间内只能和一台外围设备交换数据信息,从而不能实现设备之间的并行工作。3)由于程序直接控制方式依靠测试设备标志触发器的状态位来控制数据传送,因此无法发现和处理由于设备或其他硬件产生的错误。适合:专用控制系统;外设较少、CPU速度较慢的系统。,工作方式:CPU向I/O部件发出命令后,转去做其他有用的工作。当I/O部件准备好一个数据(对输入)或输出完一个数据后(对输出)后,利用中断通知CPU,再由CPU完成设备与内存的数据传输。,特点:CPU不必反复测试寄存器状态,节约了时间。CPU可以与设备并行工作。但每个字节的数据传输都必须经过CPU寄存器转发。,中断控制方式,接下页,中断控制方式处理过程,接下页,中断控制方式输入数据CPU控制控制过程示例,接下页,优点:CPU利用率较程序直接控制器有大大的提高,且能支持多道程序和设备的并行操作。缺点:1)因为数据缓冲区较小,在一次数据(若干字节)传送过程中,发生中断次数较多。2)外围设备较多时,CPU由于中断次数增多而无法响应中断和出现数据丢失。适合:低速的字符设备,中断控制方式优缺点,返回,8.4缓冲技术,缓冲的引入:为了匹配CPU或用户应用进程与外设的处理速度;减少对CPU的中断次数,提高CPU和I/O设备之间以及各个I/O设备之间的并行性;解决DMA或通道方式的瓶颈问题。,实现方法:专用硬件缓冲器内存专用缓冲器,缓冲的种类,单缓冲(singlebuffer):设一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。双缓冲(doublebuffer):设两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。多缓冲(multiplybuffer):多个缓冲区,CPU和外设的处理速度可以相差较大。如用于输入或输出的环形缓冲区。(一般是专用)缓冲池(bufferpool):由多个缓冲区构成,既可用于输入也可用于输出,多个进程共享,可用于多种设备。(通用,利用率高),(a)单缓冲;(b)双缓冲;(c)循环缓冲,缓冲池的管理,缓冲区类型(三种)空闲缓冲区(em):没有数据的缓冲区。输入缓冲区(in):装满了输入数据的缓冲区输出缓冲区(out):装满了准备输出到设备的缓冲区缓冲区工作方式(四种):1、设备正在输入数据到缓冲区。称为收容输入。2、CPU正在读入输入缓冲区的内容到用户区。称为提取输入。3、CPU正在输出数据到缓冲区。称为收容输出,4、正在将输出缓冲区内容输出到实际设备,称为提取输出。上述操作访问各个缓冲区队列时,需要进行相应的互斥操作。,缓冲池的管理(续),缓冲区队列:三种:图如下所示:,工作缓冲区:四种:图如下所示:,CPU,缓冲池管理(续),四个操作:take_buf(type)(被get_buf调用)add_buf(type)(被put_buf调用)get_buf(type,number)(申请缓冲区供进程使用)put_buf(type,work_buf)(将缓冲区放入相应队列,供进程使用)参数说明:type:eminoutWork_buf:hinhoutsinsout,缓冲区状态转换图,设:互斥信号量S(type)初值为资源信号量RS(type)初值为(n为type队列长度)如:em队列:初值为;in队列:初值为;out队列:初值为,get_buf()程序描述如下:get_buf(type,number):beginP(RS(type)先申请资源P(S(type)再申请操作权Pointerofbuffer(number)=take_buf(type,number)V(S(type)End,put_buf()程序描述如下:put_buf(type,number)beginP(S(type)add_buf(type,number)V(S(type)V(RS(type)end,get_buf和put_buf过程描述,8.5.1设备分配用数据结构,以下数据结构用来记录设备或部件的标识状态等信息:,系统设备表SDT:整个系统一张表,每个物理设备一个项设备控制表DCT:每个设备一张P239控制器控制表COCT:每个控制器一张P240通道控制表CHCT:每个通道一张P240,设备分配的意义P239,设备分配数据结构及其关系图,8.5.2设备分配原则,与设备分配有关的设备属性:独享设备:打印机等;共享设备:磁盘、网卡等;虚拟设备。设备分配方式:静态分配:在进程分创建时分配,在进程退出时释放;优缺点:不会出现死锁;设备利用率不高;动态分配:在进程执行过程中根据需要分配,使用结束后释放;优缺点:需要考虑死锁问题有利于提高设备利用率,设备分配的原则:合理使用外设(公平和避免死锁),提高设备利用率。,设备分配策略,设备分配策略:针对特定的设备采用特定的分配策略。先来先服务(FCFS):按I/O请求的先后顺序,排成I/O请求命令队列;按FCFS分配设备;基于优先级:依据进程的优先级,指定I/O请求的优先级,排成不同优先级队列;按优先级高低分配设备;,设备分配算法,设备分配流程图见P241图9.13,分配过程:如下所示,8.6I/O进程控制,什么是I/O控制?从用户进程的输入输出请求开始,给用户进程分配设备和启动有关设备进行I/O操作,以及在I/O操作完成之后响应中断,进行善后处理为止的整个系统过程为I/O控制。,I/O控制的功能,1)处理用户请求、分配设备、分配缓冲、启动设备(启动过程)2)处理I/O中断(中断处理),I/O进程控制过程,转换:将抽象的命令转换为具体的一定次序的指令。合法性检查:检查I/O操作请求的合法性。可用性检查:检查控制器和设备的状态,判断是否可用。参数设置:设置控制器和设备的参数,包括构造必要的通道程序。启动I/O:向控制器或设备发起I/O操作。中断处理:提供必要的中断处理例程,以便I/O完成时调用。,I/O控制过程:依据用户的控制命令对外设进行控制,并返回结果。控制过程可分为以下6步:,I/O控制的实现,三种方式:p244作为请求I/O操作的进程的一部分实现:要求I/O的进程具有实时性,即时处理设备中断。作为当前进程的一部分:由请求I/O操作的进程调用I/O操作控制部分,而让当前进程负责调用中断处理部分也是一种可行的I/O控制方案。I/O控制由专门的系统进程I/O进程完成I/O进程分为三种方式:a:每类(个)设备设一专门的I/O进程,且该进程只能在系统态下执行。b:整个系统设一I/O进程,全面负责系统的数据传送工作。I/O进程可分为输入进程和输出进程。c:每类(个)设备设一个专门的I/O进程,但该进程既可在用户态也可在系统态下执行。,8.7设备驱动程序,设备驱动程序驱动物理设备和DMA控制器或I/O控制器等直接进行I/O操作的子程序的集合。负责设置相应设备有关寄存器的值,启动设备进行I/O操作,指定操作的类型和数据流向等。,设备驱动程序的特征中转数据和控制:不是数据和控制的源端和目的端(应用程序和设备)与硬件特性密切相关:通常由硬件厂商提供。向上屏蔽设备细节:不同类型设备通常其设备驱动程序接口不同,同类设备的接口相同。,设备驱动程序是设备与应用程序间的接口:使应用程序可以用统一的方式来使用设备。,设备驱动程序(续),系统用设备开关表对设备驱动程序进行管理,设备开关表DST(DeviceSwitchTable)包含每类设备各种子程序入口地址,如下表所示:,DST也是I/O控制进程使用的数据结构。它根据该表调用设备驱动程序做启动相应操作。,补充假脱机技术,引入:在多道批处理系统中,专门利用一道或几道程序来完成对设备的I/O操作。无需使用外围I/O处理机。,利用假脱机技术(SPOOLing,SimultaneousPeripheralOperationOnLine,也称为虚拟设备技术)可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。,假脱机的原理:SPOOLing程序和外设进行数据交换,可以称为“实际I/O”。一方面,SPOOLing程序预先从外设输入数据并加以缓冲,在以后需要的时候输入到应用程序;另一方面,SPOOLing程序接受应用程序的输出数据并加以缓冲,在以后适当的时候输出到外设。在SPOOLing程序中,需要管理两级缓冲区:内存缓冲区和快速外存上的缓冲池,后者可以暂存多批I/O操作的较多数据。应用程序进行I/O操作时,只是和SPOOLing程序交换数据,可以称为虚拟I/O。这时虚拟I/O实际上是从SPOOLing程序的缓冲池中读出数据或把数据送入缓冲池,而不是跟实际的外设进行I/O操作。,优点:高速虚拟I/O操作:应用程序的虚拟I/O比实际I/O速度提高,缩短应用程序的执行时间。另一方面,程序的虚拟I/O操作时间和实际I/O操作时间分离开来。实现对独享设备的共享:由SPOOLing程序提供虚拟设备,可以对独享设备共享使用。举例:打印机设备和可由打印机管理器管理的打印作业队列。如:WindowsNT中,应用程序直接向针式打印机输出需要15分钟,而向打印作业队列输出只需要1分钟,此后用户可以关闭应用程序而转入其他工作,在以后适当的时候由打印机管理器完成15分钟的打印输出而无需用户干预。,补充:磁盘设备管理,CPU和内存的访问速度比磁盘要快若干个数量级,磁盘系统的性能对整个系统的性能有重要影响,磁盘设备管理的目标就是提高磁盘系统的性能。,磁盘I/O访问时间的组成(回顾P208),柱面定位时间:磁头移动到指定柱面的机械运动时间;旋转延迟时间:磁盘旋转到指定扇区的机械运动时间;它与磁盘转速相关,如:软盘转速可为600rpm(每分钟转速),硬盘可为3600rpm。数据传送时间:从指定扇区读写数据的时间。,返回,由于柱面定位时间在访问时间中占主要部分,合理组成磁盘数据的存储位置可提高磁盘I/O性能。例子:读一个128KB大小的文件:(1)文件由8个同一柱面上连续磁道(每个磁道32个扇区)上的256个扇区构成:20ms+(8.3ms+16.7ms)*8=220ms;其中,柱面定位时间为20ms,旋转延迟时间为8.3ms,一个磁道上32个扇区数据传送时间为16.7ms;(2)文件由256个随机分布的扇区构成:(20ms+8.3ms+0.5ms)*256=7373ms;其中,1扇区数据传送时间为0.5ms;随机分布时的访问时间为连续分布时的33.5倍。,磁盘数据的存储位置对磁盘I/O性能的影响,磁盘I/O调度策略,先进先出算法优先级算法最短查找时间优先算法扫描(SCAN)算法双队列扫描(FSCA

温馨提示

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

最新文档

评论

0/150

提交评论