您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第8章输入输出设备管理
计算机操作系统主讲:四川大学计算机学院杜忠军第八章设备管理(DevicesManagement)教学目的:设备管理不但要管理实际I/O操作的设备(如磁盘机、打印机),还要管理诸如设备控制器、DMA控制器、中断控制器、I/O处理机(通道)等支持设备。设备管理包括各种设备分配、缓冲区管理和实际物理I/O设备操作,通过管理达到提高设备利用率和方便用户。教学要求:•了解设备的分类,熟悉设备管理的目标和功能。•熟悉程序I/O方式、中断方式、DMA方式和通道方式四种I/O的控制方式;掌握通道的概念,熟悉通道类型。•熟悉缓冲的概念,熟悉单缓冲、双缓冲和多缓冲和缓冲池工作原理。•了解在进行设备分配时应考虑的设备的固有属性、设备的分配算法、设备分配的安全性和设备的独立性等因素;掌握设备分配中数据结构,熟悉设备分配的流程;掌握SPOOLing技术概念和SPOOLing系统的组成。•熟悉设备处理程序的功能和处理方式,熟悉设备处理程序的处理过程。本章的主要内容如下:输入/输出系统设备控制器输入/输出控制方式缓冲管理输入/输出软件设备分配与回收8.1输入输出系统8.1.1I/O系统1.大型机通道系统图8.1大型计算机组织结构图8.2通过网络共享系统之间的设备通道1控制器1控制器2通道2内存控制器3控制器4设备1设备2设备3设备48.1.1I/O系统-12.小型计算机和微型计算机总线系统图8.3小型机总线的组织结构8.1.1I/O系统-21984年推出的工业标准结构ISA(IndustryStandardArchitecture)总线,其带宽为2Mb/s,适用于处理器为80286的计算机。1988年推出的扩展工业标准结构EISA(ExpansionIndustryStandardArchitecture)总线,带宽可以达到32Mb/s,适用于处理器为80386类的计算机。1990年,为了适应多媒体、高质量图形处理技术和网络应用,推出了适合处理器为80486类计算机的VESA(VideoElectronicStandardAssociation)总线,带宽增加到132Mb/s。1992年,随着Pentium系列CPU的出现,单总线结构已经不能满足系统性能要求,推出了的具有全局总线和局部总线的PCI总线,如图8.4所示。8.1.1I/O系统-3图8.4通用计算机组织结构8.1.2设备分类I/O设备的种类繁多,从OS观点来看,其重要的性能指标有:数据传输速率、数据的传输单位、设备的共享属性等。1.按传输速率分类•低速设备:指传输速率为每秒钟几个字节到数百个字节的设备。典型的设备有键盘、鼠标、语音的输入等;•中速设备:指传输速率在每秒钟数千个字节至数十千个字节的设备。典型的设备有行式打印机、激光打印机等;•高速设备:指传输速率在数百千个字节至数兆字节的设备。典型的设备有磁带机、磁盘机、光盘机等。8.1.2设备分类-12.按信息交换的单位分类•块设备(BlockDevice):指以数据块为单位来组织和传送数据信息的设备。这类设备用于存储信息,有磁盘和磁带等。它属于有结构设备。典型的块设备是磁盘,每个盘块的大小为512B~4KB,磁盘设备的基本特征是:①传输速率较高,通常每秒钟为几兆位;②它是可寻址的,即可随机地读/写任意一块;③磁盘设备的I/O采用DMA方式。•字符设备(CharacterDevice):指以单个字符为单位来传送数据信息的设备。这类设备一般用于数据的输入和输出,有交互式终端、打印机等。它属于无结构设备。字符设备的基本特征是:①传输速率较低;②不可寻址,即不能指定输入时的源地址或输出时的目标地址;③字符设备的I/O常采用中断驱动方式。8.1.2设备分类-23.按资源分配的角度分类•独占设备:指在一段时间内只允许一个用户(进程)访问的设备,大多数低速的I/O设备,如用户终端、打印机等属于这类设备。因为独占设备属于临界资源,所以多个并发进程必须互斥地进行访问。•共享设备:指在一段时间内允许多个进程同时访问的设备。显然,共享设备必须是可寻址的和可随机访问的设备。典型的共享设备是磁盘。共享设备不仅可以获得良好的设备利用率,而且是实现文件系统和数据库系统的物质基础。•虚拟设备:指通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机技术(SPOOLing技术)实现虚拟设备。8.1.3设备管理的目标和功能1.设备管理的目标•提高设备的利用率。为此,应尽量提高CPU与I/O设备之间的并行操作程度,主要利用的技术有:中断技术、DMA技术、通道技术、缓冲技术。•为用户提供方便、统一的界面。所谓方便,是指用户能独立于具体设备的复杂物理特性之外而方便地使用设备。所谓统一,是指对不同的设备尽量使用统一的操作方式,例如各种字符设备用一种I/O操作方式。这就要求用户操作的是简便的逻辑设备,而具体的I/O物理设备由操作系统去实现,这种性能常常被称为设备的独立性。8.1.3设备管理的目标和功能-12.设备管理功能•设备分配。指设备管理程序按照一定的算法把某一个I/O设备、及其相应的设备控制器和通道分配给某一用户(进程),对于未分配到的进程,则插入等待队列中。•缓冲区管理。为了解决CPU与I/O之间速度不匹配的矛盾,在它们之间配置了缓冲区。这样设备管理程序又要负责管理缓冲区的建立、分配和释放。•实现物理I/O设备的操作。对于具有通道的系统,设备管理程序根据用户提出的I/O请求,生成相应的通道程序并提交给通道,然后用专门的通道指令启动通道,对指定的设备进行I/O操作,并能响应通道的中断请求。对于未设置通道的系统,设备管理程序直接驱动设备进行I/O操作。8.1.3设备管理的目标和功能-2•虚拟设备。通过SPOOLing技术将独占设备改造成多个逻辑设备,可以实现对独占设备的共享。8.2设备控制器为了便于设计和计算机实现,通常将输入/输出设备分为机械部分和电子部分。机械部分为通常意义上的输入/输出设备本身的硬件组成和结构,如打印机、扫描仪等,电子部分为设备控制器,也称为适配器。输入/输出设备通过设备控制器进入计算机系统,操作系统通过设备控制器管理设备。8.2.1设备控制器及其主要功能接收和识别处理器命令:设备控制器具有命令寄存器和译码器,将处理器的命令接收到命令寄存器中并对命令进行译码。设备控制:根据接收和译码后的处理器命令对设备采取相应的控制。数据交换:实现处理器与设备控制器之间、设备控制器与设备之间的数据交换。识别设备地址:系统中的每一个设备都有一个地址,设备控制器能够识别所控制设备的地址。了解和报告设备的状态:设备控制器中的控制/状态寄存器能够存储接收到的设备状态信息,并将信息上传给处理器。8.2.2设备控制器的组成图8.5设备控制器组成设备控制器实现了处理器与设备之间的数据、控制和地址信息等信息的传输。设备控制器的组成如图8.5所示,设备控制器由控制/状态寄存器、数据寄存器、与处理机接口、与设备接口等构成。8.2.2设备控制器的组成-1一个设备控制器接口连接一台设备,一台设备控制器有多个接口,可以连接多个设备。在设备控制器与设备的接口中存在数据、控制和状态三种类型的信号。设备控制器与设备之间的接口通常是低级的字符接口,设备控制器将字符数据封装成数据块,以更大的数据格式传送到计算机的内存。在编址方式上存在有内存映像编址和输入/输出独立编址两种形式。•控制器端口和内存进行统一地编址。主机把输入/输出端口看作一个存储单元,对输入/输出设备的读写操作等同于对存储器的操作。优点是不需要专门的输入/输出指令。缺点是对输入/输出端口操作的指令需要占用内存空间。•控制器端口独立分配地址空间。与内存的地址空间没有关系,主机使用专门的输入/输出指令对端口进行操作。独立编址的优点是外部设备不占用内存的地址空间。缺点是对输入/输出端口操作的指令类型少,操作不灵活。Intel8086/8088,分配给输入/输出端口的地址空间为64K,即:0000H~0FFFFH,只能用IN和OUT指令对其进行读写操作。8.3I/O控制方式随着计算机技术的发展,I/O的控制方式也在不断地发展。一般可分为:程序I/O方式、中断方式、DMA方式和通道方式。I/O的控制方式发展的目标是尽量减少主机对I/O控制的干预。8.3.1程序轮询方式在早期的计算机系统中,由于没有中断机构,处理机对I/O设备直接进行控制,采取程序轮询I/O(ProgrammedI/O)方式或称为忙-等待方式,即在CPU向设备控制器发出一条I/O指令启动I/O设备进行数据传输时,要同时把状态寄存器中的忙/闲标志busy置为1,然后便不断地循环测试busy。当busy=l时,表示该I/O设备尚未输入完一个字(符),CPU应继续对该标志进行测试,直至busy=0,表示该I/O设备已将输入数据送入到I/O控制器的数据寄存器中,于是CPU将从数据寄存器中取出数据,送入内存的指定单元,接着,再启动去读下一个数据,并置busy=l。8.3.1程序轮询方式-18.3.1程序轮询方式-2在程序I/O方式中,由于CPU的速度远远高于I/O设备,导致CPU的绝大部分时间都处于等待I/O设备完成而循环测试之中,造成了CPU的极大浪费。但是它管理简单,在要求不高的场合可以被采用。8.3.2中断控制(Interrupt-drivenI/O)方式在现代计算机系统中,对I/O设备的控制,广泛地采用中断驱动方式,即当某进程要启动某个I/O设备时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回继续执行原来的任务。设备控制器便按照该命令的要求去控制I/O设备。此时,CPU与I/O设备处于并行工作状态。例如,在输入时,当设备控制器收到CPU发来的读命令后,便准备接收从相应输入设备送来的数据。一旦数据进入数据寄存器,控制器便通过控制线向CPU发送一中断信号,由CPU检查输入过程中是否出错,若无错,便向控制器发取走数据的信号,然后便通过控制器将数据写入指定内存单元。8.3.2中断控制(Interrupt-drivenI/O)方式-18.3.2中断控制(Interrupt-drivenI/O)方式-2图8.6个人计算机的部分设备控制器信息8.3.2中断控制(Interrupt-drivenI/O)方式-3所以,中断驱动方式在I/O设备输入数据的过程中,无需CPU干预,可以使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去进行中断处理。从而大大地提高了整个系统的资源利用率及吞吐量,特别是CPU的利用率。8.3.3DMA(DirectMemoryAccess)控制方式中断驱动I/O方式虽然大大提高了主机的利用率,但是它以字(节)为单位进行数据传送,每完成一个字(节)的传送,控制器便要向CPU请求一次中断(做保存现场信息,恢复现场等工作),仍然占用了CPU的许多时间。这种方式对于高速的块设备的I/O控制显然是不适合。为了进一步减少CPU对I/O的干预,引入了直接存储器访问(DirectMemoryAccess)控制方式。该方式的特点是:1.它作为高速的外围设备与内存之间成批的数据交换,但是不对数据再做加工处理,数据传输的基本单位是数据块,I/O操作的类型比较简单。8.3.3DMA控制方式-12.它需要使用一个专门的DMA控制器(DMAC)。DMAC中有控制、状态寄存器、传送字节计数器、内存地址寄存器和数据缓冲寄存器。3.它采用盗窃总线控制权的方法,由DMAC送出内存地址和发出内存读、设备写或设备读、内存写的控制信号来完成内存与设备之间的直接数据传送,而不用CPU的干预。有的DMA传送甚至不经过DMAC的数据缓冲寄存器的再吞吐,传输速率非常高。4.仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。可见,DMA方式较之中断驱动方式,又是成百倍地减少了CPU对I/O控制的干预,进一步提高了CPU与I/O设备的并行操作程度。8.3.3DMA控制方式-2图
本文标题:第8章输入输出设备管理
链接地址:https://www.777doc.com/doc-1314352 .html