您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第5章设备管理操作系统
WQJ第五章设备管理5.1I/O系统5.2I/O控制方式5.3缓冲管理5.4I/O软件5.5设备分配5.6磁盘存储器的管理WQJ5.1I/O系统5.1.1I/O设备1.I/O设备的类型重要的性能指标有:设备使用特性、数据传输速率、数据的传输单位、设备共享属性等。WQJ1)按设备的使用特性分类第一类是存储设备,也称外存或后备存储器、辅助存储器,是计算机系统用以存储信息的主要设备。第二类就是输入/输出设备,又具体可分为输入设备、输出设备和交互式设备。WQJ2)按传输速率分类第一类是低速设备,这是指其传输速率仅为每秒钟几个字节至数百个字节的一类设备。第二类是中速设备,这是指其传输速率在每秒钟数千个字节至数十万个字节的一类设备。第三类是高速设备,这是指其传输速率在数百个千字节至千兆字节的一类设备。WQJ3)按信息交换的单位分类第一类是块设备(BlockDevice),这类设备用于存储信息。基本特征是其传输速率较高,通常每秒钟为几兆位;另一特征是可寻址,即对它可随机地读/写任一块;此外,I/O常采用DMA方式。第二类是字符设备(CharacterDevice),用于数据的输入和输出。基本特征是其传输速率较低,通常为几个字节至数千字节;另一特征是不可寻址,即输入/输出时不能指定数据的输入源地址及输出的目标地址;此外,输入/输出常采用中断驱动方式。WQJ4)按设备的共享属性分类(1)独占设备。这是指在一段时间内只允许一个用户(进程)访问的设备,即临界资源。应当注意,独占设备的分配有可能引起进程死锁。(2)共享设备。这是指在一段时间内允许多个进程同时访问的设备。当然,对于每一时刻而言,该类设备仍然只允许一个进程访问。显然,共享设备必须是可寻址的和可随机访问的设备。(3)虚拟设备。这是指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户(进程)同时使用。WQJ图5-1设备与控制器间的接口缓冲转换器控制逻辑信号数据数据信号线状态信号线控制信号线至设备控制器I/O设备2.设备与控制器之间的接口接口中有三种类型的信号(见图5-1所示),各对应一条信号线。WQJ1)数据信号线这类信号线用于在设备和设备控制器之间传送数据信号。数据的并行与串行转换。2)控制信号线这是作为由设备控制器向I/O设备发送控制信号时的通路。该信号规定了设备将要执行的操作。3)状态信号线这类信号线用于传送指示设备当前状态的信号。WQJ5.1.2设备控制器1.设备控制器的基本功能1)接收和识别命令CPU可以向控制器发送多种不同的命令,设备控制器应能接收并识别这些命令。为此,在控制器中应具有相应的控制寄存器,用来存放接收的命令和参数,并对所接收的命令进行译码。例如,磁盘控制器可以接收CPU发来的Read、Write、Format等15条不同的命令,而且有些命令还带有参数;相应地,在磁盘控制器中有多个寄存器和命令译码器等。WQJ2)数据交换这是指实现CPU与控制器之间、控制器与设备之间的数据交换。对于前者,是通过数据总线,由CPU并行地把数据写入控制器,或从控制器中并行地读出数据;对于后者,是设备将数据输入到控制器,或从控制器传送给设备。为此,在控制器中须设置数据寄存器。WQJ3)标识和报告设备的状态控制器应记下设备的状态供CPU了解。例如,仅当该设备处于发送就绪状态时,CPU才能启动控制器从设备中读出数据。为此,在控制器中应设置一状态寄存器,用其中的每一位来反映设备的某一种状态。当CPU将该寄存器的内容读入后,便可了解该设备的状态。WQJ4)地址识别就像内存中的每一个单元都有一个地址一样,系统中的每一个设备也都有一个地址,而设备控制器又必须能够识别它所控制的每个设备的地址。此外,为使CPU能向(或从)寄存器中写入(或读出)数据,这些寄存器都应具有唯一的地址。例如,在IB-MPC机中规定,硬盘控制器中各寄存器的地址分别为320~32F之一。控制器应能正确识别这些地址,为此,在控制器中应配置地址译码器。WQJ5)数据缓冲由于I/O设备的速率较低而CPU和内存的速率却很高,故在控制器中必须设置一缓冲器。在输出时,用此缓冲器暂存由主机高速传来的数据,然后才以I/O设备所具有的速率将缓冲器中的数据传送给I/O设备;在输入时,缓冲器则用于暂存从I/O设备送来的数据,待接收到一批数据后,再将缓冲器中的数据高速地传送给主机。WQJ6)差错控制设备控制器还兼管对由I/O设备传送来的数据进行差错检测。若发现传送中出现了错误,通常是将差错检测码置位,并向CPU报告,于是CPU将本次传送来的数据作废,并重新进行一次传送。这样便可保证数据输入的正确性。WQJ2.设备控制器的组成1)设备控制器与处理机的接口该接口用于实现CPU与设备控制器之间的通信。共有三类信号线:数据线、地址线和控制线。数据线通常与两类寄存器相连接,第一类是数据寄存器(在控制器中可以有一个或多个数据寄存器,用于存放从设备送来的数据(输入)或从CPU送来的数据(输出));第二类是控制/状态寄存器(在控制器中可以有一个或多个这类寄存器,用于存放从CPU送来的控制信息或设备的状态信息)。WQJ2)设备控制器与设备的接口在一个设备控制器上,可以连接一个或多个设备。相应地,在控制器中便有一个或多个设备接口,一个接口连接一台设备。在每个接口中都存在数据、控制和状态三种类型的信号。控制器中的I/O逻辑根据处理机发来的地址信号去选择一个设备接口。WQJ3)I/O逻辑在设备控制器中的I/O逻辑用于实现对设备的控制。它通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送I/O命令;I/O逻辑对收到的命令进行译码。每当CPU要启动一个设备时,一方面将启动命令发送给控制器;另一方面又同时通过地址线把地址发送给控制器,由控制器的I/O逻辑对收到的地址进行译码,再根据所译出的命令对所选设备进行控制。设备控制器的组成示于图5-2中。WQJ图5-2设备控制器的组成数据寄存器控制/状态寄存器数据线I/O逻辑…控制器与设备接口1控制器与设备接口i数据状态控制数据状态控制…地址线控制线CPU与控制器接口控制器与设备接口WQJ5.1.3I/O通道1.I/O通道(I/OChannel)设备的引入主要目的是为了建立独立的I/O操作,不仅使数据的传送能独立于CPU,而且也希望有关对I/O操作的组织、管理及其结束处理尽量独立,以保证CPU有更多的时间去进行数据处理;或者说,其目的是使一些原来由CPU处理的I/O任务转由通道来承担,从而把CPU从繁杂的I/O任务中解脱出来。I/O通道是一种特殊的处理机,主要特点:一是其指令类型单一;二是通道与CPU共享内存。WQJ2.通道类型1)字节多路通道(ByteMultiplexorChannel)这是一种按字节交叉方式工作的通道。只要字节多路通道扫描每个子通道的速率足够快,而连接到子通道上的设备的速率不是太高时,便不致丢失信息。WQJ图5-3字节多路通道的工作原理控制器A控制器B控制器C控制器D控制器N…A1A2A3…子通道AB1B2B3…子通道BC1C2C3…子通道CN1N2N3…子通道NA1B1C1…A2B2C2…设备…WQJ2)数组选择通道(BlockSelectorChannel)可以连接多台高速设备,但只含有一个分配型子通道,在一段时间内只能执行一道通道程序,控制一台设备进行数据传送,致使当某台设备占用了该通道后,便一直由它独占,即使是它无数据传送,通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放该通道。WQJ3)数组多路通道(BlockMultiplexorChannel)数组选择通道虽有很高的传输速率,但它却每次只允许一个设备传输数据。数组多路通道是将数组选择通道传输速率高和字节多路通道能使各子通道(设备)分时并行操作的优点相结合而形成的一种新通道。它含有多个非分配型子通道,因而这种通道既具有很高的数据传输速率,又能获得令人满意的通道利用率。也正因此,才使该通道能被广泛地用于连接多台高、中速的外围设备,其数据传送是按数组方式进行的。WQJ3.“瓶颈”问题由于通道价格昂贵,致使机器中所设置的通道数量势必较少,这往往又使它成了I/O的瓶颈,进而造成整个系统吞吐量的下降。例如,在图5-4中,假设设备1至设备4是四个磁盘,为了启动磁盘4,必须用通道1和控制器2;但若这两者已被其它设备占用,必然无法启动磁盘4。类似地,若要启动盘1和盘2,由于它们都要用到通道1,因而也不可能启动。这些就是由于通道不足所造成的“瓶颈”现象。WQJ图5-4单通路I/O系统设备1设备2设备3设备4设备5设备6设备7控制器1控制器2控制器3控制器4通道1通道2存储器WQJ图5-5多通路I/O系统I/O设备控制器1控制器2通道1通道2存储器I/O设备I/O设备I/O设备解决“瓶颈”问题的最有效的方法,便是增加设备到主机间的通路而不增加通道。WQJ图5-6总线型I/O系统结构CPU存储器磁盘控制器打印机控制器…其它控制器磁盘驱动器打印机系统总线5.1.4总线系统时钟频率、带宽和传输速率。WQJ1.ISA和EISA总线1)ISA(IndustryStandardArchitecture)总线这是为在1984年推出的80286型微机而设计的总线结构。其总线的带宽为8位,最高传输速率为2Mb/s。之后不久又推出了16位的(EISA)总线,其最高传输速率为8Mb/s,后又升至16Mb/s,能连接12台设备。2)EISA(ExtendedISA)总线到20世纪80年代末期,ISA总线已难于满足带宽和传输速率的要求,于是人们又开发出扩展ISA(EISA)总线,其带宽为32位,总线的传输速率高达32Mb/s,同样可以连接12台外部设备。WQJ2.局部总线(LocalBus)所谓局部总线,是指将多媒体卡、高速LAN网卡、高性能图形板等,从ISA总线上卸下来,再通过局部总线控制器直接接到CPU总线上,使之与高速CPU总线相匹配,而打印机、FAX/Modem、CDROM等仍挂在ISA总线上。在局部总线中较有影响的是VESA总线和PCI总线。WQJ1)VESA(VideoElectronicStandardAssociation)总线带宽为32位,最高传输速率为132Mb/s,设备数仅为2~4台,在控制器中无缓冲,不支持Pentium微机。2)PCI(PeripheralComponentInterface)总线支持64位系统,配有缓冲,最多支持10种外设,最大传输速率可达132Mb/s。PCI既可连接ISA、EISA等传统型总线,又可支持Pentium的64位系统。WQJ5.2I/O控制方式5.2.1程序I/O方式5.2.2中断驱动I/O控制方式5.2.3直接存储器访问(DMA)I/O控制方式WQJ图5-7程序I/O和中断驱动方式的流程向I/O控制器发读命令读I/O控制器的状态检查状态?从I/O控制器中读入字向存储器中写字传送完成?未就绪就绪出错CPU→I/OI/O→CPUI/O→CPUCPU→内存完成未完向I/O控制器发读命令读I/O控制器的状态检查状态?从I/O控制器中读字向内存中写字传送完成?就绪出错CPU→I/OI/O→CPUI/O→CPUCPU→内存完成未完中断CPU做其它事向I/O控制器发布读块命令CPU→DMACPU做其它事读DMA控制器的状态中断DMA→CPU下一条指令(a)程序I/O方式(b)中断驱动方式(c)DMA方式下一条指令下一条指令WQJ5.2.3直接存储器访问(DMA)I/O控制方式1.DMA(DirectMemoryAccess)控制方式的引入采用中断驱动I/O方式时的CPU是以字(节)为单位进行干预的。DMA的特点是:(1)数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块;(2)所传送的数据是从设备直接送入内存的,或者相反;(3)仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。WQJ2.DMA控制器的组成DMA控制器由三部分组成:主机与DMA控
本文标题:第5章设备管理操作系统
链接地址:https://www.777doc.com/doc-3382579 .html