资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第七章 设备管理,7.1,概述,7.2,数据传送控制方式,7.3,中断技术,7.4,缓冲技术,7.5,设备分配技术,现代计算机系统配置了各种类型的外围设备,不同的外围设备,由于其构造和物理特性各异,在应用方式和管理方法上也各不相同。,学习目标:,掌握:,数据传送的,4,种方式(,程序直接控制方式、中断控制方式、,DMA,方式及通道控制方式,)、中断技术、缓冲技术、设备分配和,SPOOLING,系统,理解:,设备分类,设备管理的任务和功能,了解:,I/O,进程控制,设备驱动程序,7.1,概述,7.1.1,设备类型,7.1.2,设备管理的任务和功能,7.1.1,设备类型,计算机系统中,除了,CPU,及存储器之外,还有一类比较重要的硬件资源,I/O,设备。,I/O,设备是计算机与外界进行信息交换的装置,这些设备可以从不同的角度进行分类。常见的有下列几种:,1,按操作特性分类,存储设备,输入,/,输出(,I/O,)设备,磁带机,硬盘,光盘,扫描仪,键盘,打印机,2,按设备的隶属关系分类,系统设备,(,System Device,),属于计算机中最基本的,标准配置设备,(,OS,生成时就已经配置好),常常在,操作系统启动时自动完成设备的登录,。如,键盘、显示器和磁盘驱动器,等都属于这种类型的设备。,用户设备,(,User Device,),属于,非标准配置,,可,由用户根据实际需要连入系统,,在使用之前通过运行对应的驱动程序进行安装、登录。如,扫描仪,等。,3,按信息组织方式分类,字块设备,(,Block Device,),也称为,存储型设备,,其上信息的组织、安排,都,以块为单位,进行,在进行存取访问时,也是以块进行计量的。常见的有,磁盘、磁带,等。,字符设备,(,Character Device,),也称为,输入,/,输出型设备,,其上的信息是,以字符为单位,来组织安排的,在信息存取调用时,都是以字符为单位来访问的。如,键盘、打印机,等。,4,按资源分配角度分类,独占设备,(,Independence Device,),一次只允许分给一个用户作业使用的设备,。设备一旦被分配,在作业的整个执行期间都被单独占用,别的作业不能与之共用,必须等占用释放后才可再用。而且,如果设备分配不当,可能会造成死锁。多数是一些慢速设备,如,打印机,等。,共享设备,(,Share Device,),一次可以允许多个作业同时进行访问的设备,(一个作业还未撤离设备,另一个作业便可使用的设备),。,各作业在执行期间,,交替分时地对共享设备进行占用,,如,磁盘,等。,虚拟设备,(,Virtual Device,),:,严格来讲,,虚拟设备是一种设备管理的技术,。该技术可以使慢速独占设备的使用方式变为共享设备的使用方式,以提高独占设备的使用效率,如,SPOOLING,系统,。,7.1.2,设备管理的任务和功能,1,设备管理的任务,(1),选择和分配,IO,设备以进行数据传输操作,(2),控制,IO,设备和内存之间交换数据,(3),为用户提供友好的透明接口,:,使得用户在编程时不必涉及设备的硬件特性,由系统按照用户要求控制设备工作,(4),提高并行操作度,:,设备和设备之间、,CPU,和设备之间,以及进程和进程之间,2,设备管理的功能,(1),提供和进程管理系统的接口,:,将进程的设备资源要求转达给设备管理程序,(2),进行设备分配,:,按照设备类型和分配算法把设备及相关硬件分配给请求该设备的进程,并把未得到分配的进程放入等待队列,(3),实现设备和设备、设备和,CPU,等之间的并行操作,:,对于不同的,I/O,控制方式,需要有相应的硬件支持,如控制器、通道或,DMA,等,(4),进行缓冲区的分配、释放及相关的管理,:,为了减少外部设备和内存与,CPU,之间的数据速度不匹配的问题,系统设置缓冲区来暂放数据,7.2,数据传送控制方式,外围设备和内存之间常用的数据传送控制方式有,4,种,:,(1),程序直接控制方式,(2),中断控制方式,(3)DMA,方式,(4),通道方式,1,程序直接控制方式,由用户进程来直接控制,内存,/CPU,和外围设备之间的信息传送。这种方式的控制者是用户进程。,优点,:控制简单,不需要多少硬件支持,缺点,:,(1),CPU,的利用率大大降低,:,CPU,和外围设备只能串行工作,(2),不能实现设备之间的并行工作,:,CPU,在一段时间内只能和一台外围设备交换数据信息,(3),无法发现和处理由于设备或其他硬件所产生的错误,:依靠测试设备标志触发器的状态位来控制数据传送,只适用于那些,CPU,执行速度较慢,而且外围设备较少的系统。,(用户进程),程序直接控制方式,2,中断方式,为了减少程序直接控制方式中,CPU,等待时间以及提高系统的并行工作程度,,中断,(interrupt),方式,被用来控制外围设备和内存与,CPU,之间的数据传送。,中断方式要求,CPU,与设备,(,或控制器,),之间有相应的,中断请求线,,而且在设备控制器的控制状态寄存器中有相应的,中断允许位,。,中断方式的传送结构,中断控制方式的处理过程,优点,:,CPU,的利用率大大提高,(由于采用中断,无需循环测试状态控制寄存器的状态是否已处于“,Done”,),能支持多道程序和设备的并行操作,(,CPU,在另外的进程上下文中执行时,也可以发启动不同设备的启动指令和允许中断指令),缺点,:,一次数据传送过程中,可能发生较多次的中断,(,由于数据缓冲寄存器装满数据之后将会发生中断,而数据缓冲寄存通常较小,),,这将耗去大量的,CPU,处理时间。,可能造成,CPU,无法响应中断和出现数据丢失现象,(,多个外围设备并行操作引起的中断次数急剧增加造成,CPU,无法相应中断和出现数据丢失现象;如果外围设备的速度也很高,则可能造成数据缓冲寄存器的数据由于,CPU,来不及取走而丢失,),DMA,方式,(,Direct Memory Access,直接存取方式,),在外围设备和内存之间开辟直接的数据交换通路。,DMA,方式,挪用,CPU,的一个工作周期把数据缓冲寄存器中的数据直接送到内存地址寄存器所指向的内存区域,。从而,,DMA,控制器可用来代替,CPU,控制内存和设备之间进行成批的数据交换。,除了在数据块传送开始时需要,CPU,的启动指令,和在整个数据块传送结束时需发中断通知,CPU,进行中断处理之外,不再需要,CPU,的频繁干预。,DMA,方式的传送结构,DMA,方式的数据传送处理过程,DMA,方式与中断方式的一个主要区别,(,1,),CPU,进行中断处理的次数大大减少,中断方式时是在数据缓冲寄存器满之后发中断要求,CPU,进行中断处理,DMA,方式则是在所要求转送的数据块全部传送结束时要求,CPU,进行中断处理,(,2,),排除了因并行操作设备过多时,CPU,来不及处理或因速度不匹配而造成数据丢失等现象,中断方式的数据传送是在中断处理时由,CPU,控制完成,DMA,方式是在,DMA,控制器的控制下不经过,CPU,控制完成,DMA,方式的局限性:,DMA,方式对外围设备的管理和某些操作仍由,CPU,控制,(随着系统所配置的外设种类越来越多,数量也越来越大,对外围设备的管理的控制也愈来愈复杂),多个,DMA,控制器的同时使用是,不经济,的,且会引起内存地址的冲突并,使得控制过程进一步复杂化,因此,在大中型计算机系统中,(,甚至在要求,I/O,能力强的微机系统中,),,,除了设置,DMA,器件之外,还设置专门的硬件装置,通道,。,4,通道控制,(channel control),方式,通道,是,一个独立于,CPU,的,专门负责,I/O,控制的处理机,。它有自己的指令系统,,通道指令,受,CPU,启动(,使该通道从内存中调出相应的通道指令执行,),并在操作结束时向,CPU,发中断信号,。,引入通道的目的,:,使,CPU,从,I/O,事务中解脱出来;同时为了提高,CPU,与设备,设备与设备之间的并行工作能力,一个完整的通道方式的,I/O,系统包含了,I/O,设备、设备控制器、通道及相关的管理软件。,按照信息交换方式不同,一个系统中可设立三种类型的通道:,字节多路通道,:以,字节,为单位传送数据,主要用于连接大量的,低速设备,,如终端、打印机等。,数组多路通道,:以,块,为单位传送数据,传送速率高,主要用来连接,中速块设备,,如磁带机等。,(前两者都可以分时执行不同的通道指令程序),选择通道:,以,块,为单位,成批,传送数据,一次只能控制一台设备进行,I/O,操作(,因为一次只能执行一个通道指令程序,),但具有传送速度高的特点,被用来连接,高速外部设备,,如磁盘机等。,通道方式的数据传送结构,通道控制方式的数据输入处理过程,:,(1),当进程要求设备输入数据时,,CPU,发,Start,指令指明,I/O,操作、设备号和对应通道。,(2),对应通道接收到,CPU,发来的启动指令,Start,之后,把存放在内存中的通道指令程序读出,设置对应设备的,I/O,控制器中的控制状态寄存器。,(3),设备根据通道指令的要求,把数据送往内存中指定区域。,(4),若数据传送结束,,I/O,控制器通过中断请求线发中断信号请求,CPU,做中断处理。,(5),中断处理结束后,CPU,返回被中断进程处继续执行。,通道控制方式与,DMA,方式的比较,相似处,:,以内存为中心,实现设备和内存的直接数据交换,不同点,:,DMA,方式中,数据的传送,由,CPU,控制,;通道方式中,,由专管输入输出的硬件,通道来进行控制,DMA,方式中,,每台设备至少一个,DMA,控制器,;通道控制方式中,,一个通道可控制多台设备与内存的数据交换,通道方式进一步减轻了,CPU,的工作负担,增加了计算机系统的并行工作程度。,选择题(,2009,年考研):,单处理机系统中,可并行的是(,),I,进程与进程,II,处理机与设备,III,处理机与通道,IV,设备与设备,A,I,、,II,和,III,B,I,、,II,和,IV,C,I,、,III,和,IV,D,II,、,III,和,IV,7.3,中断技术,7.3.1,中断的基本概念,7.3.2,中断的分类与优先级,7.3.3,软中断,7.3.4,中断的处理过程,7.3.1,中断的基本概念,中断,(Interrupt),:,指计算机在执行期间,系统内发生非寻常的或非预期的急需处理事件,使得,CPU,暂时中断当前正在执行的程序,而转去执行相应的事件处理程序。待,处理完毕后又返回,原来中断处继续执行或调度新的程序执行的过程。,中断源,:,引起中断发生的事件,被称为中断源。,中断请求,:中断源向,CPU,发出的,请求中断处理信号,。,中断响应,:,CPU,收到中断请求后,转相应的事件处理程序,。,禁止中断,(,关中断,):,CPU,内部的处理机状态字,PSW,的,中断允许位已被清除,,不允许,CPU,响应中断。,开中断,:,PSW,的,中断允许位的设置,。,中断屏蔽,:,在中断请求产生之后,系统,用软件方式有选择地封锁部分中断,而允许其余部分的中断仍能得到响应。,(中断屏蔽是通过每一类中断源设置一个中断屏蔽触发器来屏蔽它们的中断请求而实现的。),7.3.2,中断的分类和优先级,根据中断源产生的条件,中断可分为:,外中断,:指来自处理机和内存外部的中断,,包括,I/O,中断、外部信号中断、时钟中断、调试中断等。,外中断在狭义上一般被称为中断,。,内中断,:指在处理机和内存内部产生的中断,,一般称为陷阱,(trap),或异常,。包括程序运算引起的各种错误,如地址非法、校验错、页面失效、存取访问控制错、算术操作溢出、数据格式非法、除数为零、非法指令、用户程序执行特权指令、分时系统中的时间片中断以及从用户态到核心态的切换等。,中断和陷阱的主要区别,:,(1),陷阱通常由处理机正在执行的,现行指令引起,,而中断则是由,与现行指令无关的中断源引起,的。,(2),陷阱处理程序提供的服务,为当前进程所用,,而中断处理程序提供的服务则,不是为了当前进程,的。,(3)CPU,在执行完一条指令之后,,下一条指令开始之前响应中断,,而在,一条指令执行中也可以响应陷阱,。,(4),有的系统中,陷进处理程序被规定,在各自的进程上下文中执行,,而中断处理程序则,在系统上下文中执行,。,7.3.3,软中断,硬中断,:中断和陷阱要通过硬件产生相应的中断请求,软中断,:,通信进程之间用来模拟硬中断的一种信号通信方式。,软中断与硬中断的比较:,相同点,:,中断源发中断请求,/,软中断信号后,,CPU/,接收进程在适当的时机自动进行中断处理,/,完成软中断信号所对应的功能。,不同点,:,接收软中断信号的进程不一定正好在接收时占有处理机,,相应的处理必须等到该接收进程得到处理机之后才能进行。,条件,CPU,响应中断的条件,:,有来自于中断源的中断请求,CPU,允许中断,中断源的优先级高于,PSW,的优先级,中断处理过程,7.4,缓冲技术,7.4.1,缓冲的引入,7.4.2,缓冲的种类,7.4.3,缓冲池,缓冲技术,可提高外设利用率,7.4.1,缓冲的引入,引入缓冲的主要目的,:,1,缓和,CPU,和,I/O,设备间速度不匹配的矛盾,凡在数据的到达速率与离去速率不同的地方,都可设置缓冲,以缓和速度不匹配的矛盾。,2,减少对,CPU,的中断次数,:,等到缓冲区满时才产生中断,3,解决,DMA,或通道方式时的瓶颈问题,7.4.2,缓冲的种类,根据系统设置的缓冲器的个数,缓冲技术分为:,单缓冲,双缓冲,多缓冲,缓冲池,根据,I/O,控制方式,缓冲的实现方法有两种,:,采用,专用硬件缓冲器,,例如,I/O,控制器中的,数据缓冲寄存器,在内存划出一个专用缓冲区,,以便存放输入输出的数据。内存缓冲区又称,软件缓冲,。,1.,单缓冲,在,CPU,与外设之间只设立一个缓冲区,,输入与输出操作,全部经该缓冲区来完成,。缓冲区是,可共享的,临界资源,,,必须,互斥使用,。,2.,双缓冲,为输入或输出操作设置两个缓冲区。,实际系统中很少采用这一方式,因为计算机系统的外设很多,又有大量的输入和输出,双缓冲很难匹配设备和,CPU,的处理速度。,计算机中大都采用多缓冲或缓冲池结构,。,多缓冲,是把主存中的多个缓冲区组织成两部分,,一部分用于做输入,缓冲区,,另一部分作为输出,缓冲区。,缓冲池,则是将多个缓冲区连接成一个,完整的区域,,,既可用于输入又可用于输出,。,多缓冲及缓冲池也是,可共享的,临界资源,,,必须,互斥,地使用,,由系统统一分配和管理。,3,多缓冲及缓冲池,7.4.3,缓冲池的管理,1,系统把各缓冲区按其使用状况连成三种队列:,(1),空白缓冲队列,em,,队首指针为,F(em),,队尾指针为,L(em),(2),装满输入数据的,输入缓冲队列,in,,队首指针为,F(in),,队尾指针为,L(in),(3),装满输出数据的,输出缓冲队列,out,,队首指针为,F(out),,队尾指针为,L(out),缓冲池有四种工作缓冲区,:,用于,收容输入数据,的工作缓冲区(,hin,):,输入设备,-,缓冲区,用于,提取输入数据,的工作缓冲区(,sin,):,缓冲区,-CPU,用于,收容输出数据,的工作缓冲区(,hout,):,CPU-,缓冲区,用于,提取输出数据,的工作缓冲区(,sout,):,缓冲区,-,输出设备,2,缓冲池的工作方式,缓冲区在收容输入、提取输入、收容输出和提取输出四种方式下工作。,缓冲池的工作原理,:,系统,开始启动,时,所有缓冲区全部排入,em,队列中。,当有,输入任务,时,,收容输入进程,执行读操作时,自动从,em,队列,的队首取下一空闲缓冲区,,将输入数据装入,待满后排入,in,队列,(装满输入数据)尾部,。并对,em,队列和,in,队列长度作减一、加一操作。,当有,输出任务,时,,收容输出进程,从,em,队列,中取下一空闲缓冲区,,将输出数据装入,满后,排入,out,队列,(装满输出数据)尾部,。并对,em,队列和,out,队列长度作减一、加一操作。,当系统要,从输入缓冲区为用户进程取数,时,由,提取输入进程,从,in,队列,中取出一缓冲区,,将其中的数据复制到用户指定的区域。并将该缓冲区,排入,em,队列,的尾部,。同时,,in,队列数减一,,em,队列数加一。,当系统要,从输出缓冲区输出数,时,由,提取输出进程,从,out,队列,中取出一缓冲区,,将其中的数据送给输出设备进行操作。然后将该缓冲区,排入,em,队列,的尾部,。同时,,out,队列数减一,,em,队列数加一。,7.5,设备分配技术,7.5.1,设备分配中的数据结构,7.5.2,设备分配的方式,7.5.3,设备的独立性,7.5.4,设备分配策略,7.5.5,设备分配步骤,7.5.6,虚拟设备的分配和假脱机系统,7.5.1,设备分配中的数据结构,多道环境下的设备分配,不只是对,设备,进行分配,而且还要实现与设备相关联的,通道,及,设备控制器,的分配。,设备的分配和管理中,常采用的数据结构主要有四张表,即,1),系统设备表,SDT,2),设备控制表,DCT,3),控制器控制表,COCT,4),通道控制表,CHCT,1.,系统设备表,SDT(System Device Table),SDT,表记录系统中所有,I/O,设备的信息(接入系统中的每个外设在,SDT,表中都占有一个表目项)。,SDT,表在整个系统中只有一张,全面反映了系统中的外设资源的类型、数量、占用情况等。,SDT,表的表项内容有,:,设备类型,设备标识符,进程标识符,DCT,指针,驱动程序入口,2.,设备控制表,DCT(Device Control Table),系统中的每台设备都有一张设备控制表,DCT,。,DCT,表包含设备的各方面特征,以及与该设备相连的设备控制器的入口位置。,DCT,表的表项,内容有:,设备类型,设备标识符,设备状态(忙,/,闲),指向控制器表的指针,设备队列的队首指针,设备队列的队尾指针,3.,控制器控制表,COCT(COntroller Control Table),每个控制器都有一张控制器控制表,COCT,,用于登录某控制器的使用分配情况及与该控制器相连的通道的情况。具体内容有:,控制器号,:控制器的内部标识符,控制器状态,:控制器忙,/,闲,通道指针:,指向与该控制器相联的通道控制表,CHCT,。当控制器与若干通道连接时该项内含多个指针,等待队列指针,:,指向等待该控制器的,I/O,进程队列,4.,通道控制表,CHCT(Channel Control Table),CHCT,表反映了通道的情况,系统中的每个通道都有一张,CHCT,表(,只在有通道控制方式的系统中存在,)。其内容如下:,通道号,:通道内部标识符,通道状态,:通道忙,/,闲,等待队列指针,:等待该通道的,I/O,进程队列的指针,SDT,DCT,COCT,CHCT,的结构如图所示:,根据用户请求的,I/O,设备的逻辑名,查找逻辑设备和物理设备的映射表;以物理设备为索引,查找,SDT,,找到该设备所连接的,DCT,;继续查找与该设备连接的,COCT,和,CHCT,。,一个进程只有获得了通道、控制器和所需设备三者之后,才具备了进行,I/O,操作的物理条件。,7.5.2,设备分配的方式,设备分配方式主要有两种:,静态分配与动态分配,静态分配,:用户,作业执行之前,,由系统,一次性分配,给该作业所要求的全部设备、控制器和通道。,一旦分配之后,这些设备、控制器和通道就一直为该作业所占有,直到该作业撤消。,优点,:不会出现死锁,缺点,:设备的使用率低,静态分配方式主要适用于,独占型设备,的分配,,由于这类设备在使用上必须是互斥地占用。这种方式,主要用于分配设备,而对通道和设备控制器的分配不能采用此方式,。,动态分配,:,当进程需要设备时,,通过系统调用命令向系统提出设备请求,,由系统按照事先规定的策略给进程分配所需要的设备、控制器和通道。一旦用完之后,便立即释放,。,优点,:提高了设备的利用率。,缺点,:分配算法不当,会引起进程死锁。,动态分配方式适用对,共享型设备,的分配,。,7.5.3,设备独立性(,又称,设备无关性,),为便于外设的管理,,系统对每台进入系统中的设备都给定一个对应的编号,,作为调用时识别和区分设备用。这种编号无任何重复,被称为,设备的绝对号,(或,物理设备名,),。,为方便用户,也为提高外设利用率,系统允许用户申请外设时,只需要向系统说明所需用的某类设备(至于真正在实际中使用哪台设备,由系统根据这类设备的使用情况作出分配)。即使用户需要多台同样的设备,系统也允许用户按自己的使用要求提出编号,这种,由用户申请设备时所用的编号称为,设备的相对号,(或,逻辑设备名,)。,例如,有、号三台打印机,作业,J1,要申请使用两台打印机。,如果作业,J1,按绝对号来申请设备,直接申请号、号打印机,,此时,如果号打印机为另一作业,J2,占用,或者坏了,即使系统中还有两台打印机可用,,J1,也必须等待,造成资源浪费。,如果作业,J1,按相对号来申请设备,,提出需要打印机两台,系统可将另外的两台打印机分配给,J1,,,J1,便可运行。设备得到充分利用。,有了设备的绝对号和相对号,用户编程时只考虑逻辑设备,系统调用的是物理设备,,逻辑设备与物理设备间的转化由设备分配程序来完成。,设备独立性,:指,应用程序独立于具体使用的物理设备,,即,用户编制程序使用的设备与实际使用的设备无关。,优点,:,使系统的适应性好,可扩展性强,可提高资源利用率,。,例如,当某台设备坏了,只需系统改变分配就行了,而程序本身不必做任何修改。,7.5.4,设备分配策略,系统中,进程的数量一般都会超出所拥有的外设资源数量,所以有些进程在,I/O,请求完成后,不能立即分到所要的外设,这些进程被排入该设备的等待队列。,对于等待队列中的进程,系统按照一定的策略对设备进行分配,。,常见的设备分配方法有两种。,1,先请求先分配,2,优先级高者先分配,1.,先请求先分配,由于进程对设备的申请有先后次序,故排入等待队列的次序也是不相同的。,当该设备被释放归还给系统后,就可以重新分配。此时,系统按进程在等待队列中排队的先后次序,,将设备分配给最早排入队列的那个进程,。,2.,优先级高优先分配,在此分配对策中,进程的优先级起了决定作用。分配程序按进程所具有的优先级进行分配:,高优先级的进程先分配,,,同优先级的,先申请先分配,。,7.5.5,设备分配步骤,在具有通道的,I/O,系统中,分配算法对各资源的分配顺序为:,1.,分配设备,2.,分配控制器,3.,分配通道,具体分配流程图如下:,图,8.13,设备分配流程图,7.5.6,虚拟设备与假脱机技术,1,虚拟设备,2,假脱机技术:,SPOOLING,系统,3,假脱机系统的特点,1,虚拟设备,虚拟设备,不是真正意义上的物理设备,它是指,代替独享设备的那部分,存储空间,及有关的,控制结构,。,对虚拟设备采用的是,虚拟分配,,其过程是:,当进程请求独享设备时,系统,将共享设备的一部分存储空间分配给它,。进程与设备交换信息时,系统,把要交换的信息存放在这部分存储空间,,在适当的时候对信息作相应的处理。,例如打印时,把要打印的信息送到某个存储空间中,在打印机空闲时再将存储空间上的信息送到打印机上打印出来。,2.SPOOLING,系统,SPOOLING(Simultaneous Peripheral Operation On Line),也称,同时联机的外围操作,或是,假脱机操作,。,思想,:,利用一台高速共享设备(磁盘或磁鼓),将一台独占设备模拟成多台可并行操作的虚拟设备,。这样一来,使每个用户都感到得到了系统中的一台独享设备,。,这种技术产生在计算机技术发展到一定阶段,在硬件中出现了大容量的共享设备:磁盘,通道和中断技术,在软件中出现了多道程序技术的前提下。,(1)SPOOLING,系统的组成:,一个完整的,SPOOLING,系统中有硬件部分和软件部分,它们之间协调配合,共同实现了假脱机技术。,硬件部分:,这部分包含了在外存上设立的两区域:,输入井,和,输出井,,以及在内存中开辟出的两个缓冲区:,输入缓冲区,和,输出缓冲区,。,输入井,:用来存放来自于输入设备的信息。,输出井,:用来保存即将送到输出设备上的结果。,输入缓冲区,:暂时保存外设准备送入输入井的信息。,输出缓冲区,:暂时保存从输出井送出的结果。,内存,外存,(2),软件部分:,包含,预输入进程,:,将用户要求的输入到设备上的输入数据,经通道和输入缓冲区送入输入井(,输入设备输入井,),缓输出进程,:,将用户的输出结果在设备空闲时从输出井中,经输出缓冲区送上输出设备,(输出井输出设备),输入井管理进程,:,将输入井中的数读入内存,(,CPU,输入井内存),输出井管理进程,:,将内存中的结果送输出井中,(,CPU,内存输出井),3.,假脱机系统的特点,(,1,),提高了,I/O,速度,。从对低速,I/O,设备进行的,I/O,操作变为对输入井或输出井的操作,缓和了,CPU,与低速,I/O,设备速度不匹配的矛盾。,(,2,),设备并没有分配给任何进程,。在输入井或输出井中,分配给进程的是一存储区和建立一张,I/O,请求表。,(,3,),实现了虚拟设备功能,。多个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备,不过,该设备是逻辑上的设备。,7.6 I/O,进程控制,1.I/O,控制的引入,I/O,控制,:指从用户进程的,I/O,请求开始,给用户进程分配设备、启动有关设备进行,I/O,操作,以及在,I/O,操作完成之后响应中断,进行善后处理为止的整个系统控制过程。,2.I/O,控制的功能,各子模块的功能,:,I/O,请求处理模块,:把用户进程的,I/O,请求变换为设备管理程序所能接受的信息(,例如将,I/O,请求中的逻辑设备名转换为对应的物理设备名),,并将,I/O,请求命令插入指向相应,DCT,的,I/O,请求队列,设备分配程序,:为,I/O,请求分配相应的设备、控制器和通道,缓冲区管理模块,:为,I/O,传送申请必要的缓冲区,以保证,I/O,传送的顺利完成。,另外,在数据传送结束后,外设发出中断请求,,I/O,控制过程将根据中断原因调用中断处理程序,并做出中断响应。,3.I/O,控制的实现方式,作为,请求,I/O,操作的进程,的一部分实现,。,作为,当前进程,的一部分实现,让,请求,I/O,操作的进程,调用,I/O,操作控制部分,,而让,当前进程,负责调用中断处理部分,I/O,控制由,专门的系统进程,I/O,进程完成,。,在用户进程发出,I/O,请求命令之后,或者在外设发出中断请求之后,系统调度,I/O,进程执行,控制,I/O,操作或者响应中断。,I/O,进程也可分为三种方式实现,。即,:,每类,(,个,),设备设一专门的,I/O,进程,,且该进程只能在,系统态,下执行。,整个系统设一,I/O,进程,,全面负责系统的数据传送工作。,每类,(,个,),设备设一个专门的,I/O,进程,,但该进程既可在,用户态,也可在,系统态,下执行。,7.7,设备驱动程序,设备驱动程序,是驱动物理设备和,DMA,控制器或,I/O,控制器等直接进行,I/O,操作的,子程序的集合,。,设备驱动程序,负责设置相应设备有关寄存器的值,启动设备进行,I/O,操作,指定操作的类型和数据流向等。,系统设置有设备开关表,DST,(,Device Switch Table,)对驱动程序进行管理,。,设备开关表中给出相应设备的各种,操作子程序的入口地址,,例如打开,/,关闭、读,/,写设备子程序的入口地址,一般设备开关表是二维结构,,其中的行和列分别表示设备类型和驱动程序类型。,设备开关表也是,I/O,进程的一个数据结构,。,I/O,控制过程为进程分配设备和缓冲区之后,可以使用设备开关表调用所需的驱动程序进行,I/O,操作。,本章小结,设备管理的功能,数据传送控制方式,中断技术,缓冲技术,设备分配技术,
展开阅读全文