您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 操作系统讲义-第五章设备管理
2020年2月1日第五章设备管理1主要内容5.1I/O系统5.2I/O控制方式5.3缓冲管理5.4I/O软件5.5设备分配5.6磁盘存储器的管理2020年2月1日第五章设备管理2设备管理概述在计算机系统中,除了需要一个或多个处理机,一个或多个存储器模块外,还需要用于实现信息输入、输出和存储的设备。设备管理程序便是用于对这类设备进行控制和管理的一组程序。由于I/O设备不仅种类繁多,而且它们的特性和操作方式,往往相差甚大,所以使得设备管理成为操作系统中最繁杂且与硬件紧密相关的部分。主要对象:I/O设备,以及设备控制器和通道。2020年2月1日第五章设备管理3设备管理概述缓冲管理设备分配设备处理虚拟设备实现设备独立性设备管理的主要功能包括:设备管理的主要任务:完成用户提出的I/O请求,提高I/O速率以及提高I/O设备的利用率。2020年2月1日第五章设备管理45.1I/O系统I/O系统是用于实现数据输入、输出及数据存储的系统。1.I/O设备按设备的使用特性可以分成:•存储设备,如外存;•输入/输出设备,键盘,鼠标,扫描仪,打印机等等。按传输速率可以分成:•低速设备:每秒几个字节到数百个字节,如键盘,鼠标;•中速设备:每秒数千个字节到数十万个字节,如打印机;•高速设备,每秒数十万字节到千兆字节,如磁带机,磁盘机。2020年2月1日第五章设备管理55.1I/O系统1.I/O设备按信息交换的单位可以分成:•块设备,如磁盘;•字符设备,如打印机。按设备的共享属性可以分成:•独占设备:一段时间只允许一个用户访问,如打印机;•共享设备:一段时间内允许多个进程同时访问,如磁盘;•虚拟设备:将一台独占设备变成若干台逻辑设备,如虚拟内存。2020年2月1日第五章设备管理65.1I/O系统1.I/O设备设备与控制器的接口:设备不直接与CPU进行通信,而是与设备控制器通信,有三种类型的信号:•数据信号线:用于在设备和设备控制器之间传送数据信号;•控制信号线:作为由设备控制器向I/O设备发送控制信号时的通路;•状态信号线:用于传送指示设备当前状态的信号。I/O设备缓冲转换器控制逻辑信号数据至设备控制器数据信号线状态信号线控制信号线2020年2月1日第五章设备管理75.1I/O系统2.设备控制器设备控制器的基本功能•接收和识别命令:CPU可以向控制器发送不同的命令,设备控制器负责接收并识别这些命令;•数据交换:实现CPU与控制器间,控制器与设备间的数据交换;•标识和报告设备状态:控制器应记下设备的状态供CPU了解;•地址识别:系统中的每个设备也有一个地址,设备控制器必须能够识别它所控制的每个设备的地址;•数据缓冲:I/O设备的速率较低而CPU和内存的速率很高,所以控制器中必须设置缓冲器,输出时,缓冲器暂存由主机高速传来的数据,然后以I/O设备具有的速率将缓冲器中的数据传送给I/O设备,输入时相反;•差错控制:对由I/O设备传送来的数据进行差错检测,若发现传送中出现了错误,通常还要向CPU报告,CPU将本次传送来的数据作废,重新进行传送。主要职责是控制I/O设备,以实现I/O设备和计算机之间的数据交换。2020年2月1日第五章设备管理85.1I/O系统2.设备控制器设备控制器的组成•设备控制器与处理机的接口:实现CPU与设备控制器之间的通信;•设备控制器与设备的接口:控制器中有一个或者多个设备接口,每个接口连接一个设备;•I/O逻辑:用于实现对设备的控制。CPU与控制器接口数据寄存器控制/状态寄存器数据状态控制数据线地址线控制线I/O逻辑控制器与设备接口1控制器与设备接口i……数据状态控制2020年2月1日第五章设备管理95.1I/O系统3.I/O通道I/O通道设备的引入设备控制器能大大减少CPU对I/O的干预,但是当主机配置的外设很多时,CPU的负担仍然很重,所以在CPU和设备控制器之间设置通道,其目的是为了建立独立的I/O操作,不仅使数据的传送能独立于CPU,而且能对I/O操作的组织、管理和结束处理尽量独立,使得CPU有更多的时间去进行数据处理。2020年2月1日第五章设备管理105.1I/O系统3.I/O通道通道的类型•字节多路通道:按字节交叉方式工作的通道,其数量在几十到数百个,每个子通道连接一台I/O设备,并控制该设备的I/O操作;•数组选择通道:字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道,这种通道可以连接多台高速设备,但是它只含有一个分配型紫铜刀,一段时间只能控制一台设备,所以通道利用率仍然很低;•数组多路通道:将数组选择通道传输速率高和字节多路通道能使各子通道分时并行操作的有点结合形成,既具有很高的数据传输速率,又能获得令人满意的通道利用率。2020年2月1日第五章设备管理115.1I/O系统3.I/O通道瓶颈问题存储器通道1通道2控制器1控制器2控制器3控制器4设备1设备2设备3设备4设备5设备6设备7存储器通道1通道2控制器1控制器4I/O设备I/O设备I/O设备I/O设备2020年2月1日第五章设备管理125.1I/O系统4.总线系统ISA和EISA总线•ISA总线:1984年推出的80286型微机的总线结构,带宽8位,最高传输速率2Mb/s。•EISA总线:20世纪80年代末推出,带宽32位,传输速率32Mb/s,可连接12台外部设备。局部总线(LocalBus)•VESA总线;低价位占领市场,带宽32位,最高传输速率132Mb/s,广泛应用于486微机;缺点:只能连接2-4台设备,无缓冲;•PCI总线:支持Pentium系列芯片,1992和1995分别提出PCI总线的V1.0和V2.1规范,后者支持64位系统,有数据缓冲,能连接10种外设,最大传输速率132Mb/s。CPU磁盘控制器存储器打印机控制器其它控制器…磁盘控制器打印机系统总线2020年2月1日第五章设备管理135.2I/O控制方式用于早期的计算机系统,无中断机构,处理机对设备的控制采取忙-等待方式,由于CPU的高速性和I/O设备的低速性,致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费,造成这种浪费的原因就是CPU无中断机构。1.程序I/O方式在现代计算机系统中,毫无例外地引入了中断机构,当某进程要启动某个I/O设备时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回执行原来的任务,此时设备控制器按照该命令的要求去控制指定的I/O设备,CPU和I/O设备并行地工作。在I/O设备输入每个数据的过程中,由于无需CPU干预,因而可使CPU与I/O设备并行工作,仅当输完一个数据时,才需要CPU花费极短的时间去做些中断处理,所以这种方式可以使CPU和I/O设备同时处于忙碌状态,从而提高了整个系统的资源利用率和吞吐量。2.中断驱动I/O方式2020年2月1日第五章设备管理145.2I/O控制方式程序I/O方式中断驱动I/O方式向I/O控制器发读指令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态?传送完成?下一条指令完成CPU-内存I/O-CPU出错I/O-CPUCPU-I/O就绪未就绪未完向I/O控制器发读指令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态?传送完成?下一条指令完成CPU-内存I/O-CPU出错I/O-CPUCPU-I/O就绪未完CPU做其它事中断2020年2月1日第五章设备管理155.2I/O控制方式DMA方式(DirectMemoryAccess)的引入针对中断驱动I/O方式以字(节)为单位进行I/O的,每当完成一个字(节)的I/O时,控制器就要向CPU请求一次中断,这种方式应用于块设备是极其低效的。3.直接存储器访问(DMA)I/O控制方式DMA方式的特点•数据传输的基本单位是数据块;•所传送的数据是从设备直接送入内存的,或者相反;•仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。DMA方式的优点较之中断驱动方式,成百倍地减少了CPU对I/O的干预,进一步提高了CPU和I/O设备的并行操作度。向I/O控制器发布读块命令下一条指令向I/O控制器发布读块命令DMA-CPUCPU-DMACPU做其它事中断2020年2月1日第五章设备管理165.2I/O控制方式DMA控制器的组成•主机与DMA控制器的接口•DMA控制器与块设备的接口•I/O控制逻辑3.直接存储器访问DMA方式DMA控制器设置如下四类寄存器:命令/状态寄存器CR内存地址寄存器MAR数据寄存器DC数据计数器CR系统总线CPU内存主机-控制器接口命令DRMARDCCRI/O控制逻辑…控制器-块设备接口countDMA控制器2020年2月1日第五章设备管理175.2I/O控制方式DMA的工作过程当CPU从磁盘读入一个数据块时,便向磁盘控制器发送读指令,该命令被送到其中的命令寄存器,同时,还须发送本次要将数据读入的内存起始地址,将地址读入内存地址寄存器MAR中,本次要读数据的字节数读入数据计数器DC,降低至送到DMA控制器的I/O控制逻辑上,启动DMA控制器进行数据传送,CPU可以去处理其他任务。3.直接存储器访问DMA方式设置MAR和DC初值启动DMA传送命令挪用存储器周期传送数据字存储器地址增1字计数寄存器减1DC=0?请求中断否是在继续执行用户程序的同时,准备下一次传送2020年2月1日第五章设备管理185.2I/O控制方式I/O通道控制方式的引入DMA方式相比中断方式显著减少了CPU的干预,并且以数据块为传送单位,但CPU每发出一条I/O指令,也只能读/写一个连续的数据块,如果需要一次去读多个数据块,并且分别传送到不同的内存区,必须由CPU分别发出多条I/O指令,并且进行多次中断处理才能完成。为此,引入通道方式,可以进一步减少CPU的干预,可以实现CPU、通道和I/O设备的并行操作,从而更有效地提高整个系统的资源利用率。4.I/O通道控制方式2020年2月1日第五章设备管理195.2I/O控制方式4.I/O通道控制方式通道程序通道通过执行通道程序,并与设备控制器共同实现对I/O设备的控制。通道程序是由一系列通道指令(通道命令)所构成,通道指令包含以下信息:•操作码:规定了指令所执行的操作,如读、写、控制等等;•内存地址:标明字符送入内存(读操作)和从内存取出(写操作)时的内存首址;•计数:表示本条指令所要读(或写)数据的字节数;•通道程序结束位P:表示通道程序是否结束,P=1表示本条指令是通道程序的最后一条指令;•记录结束标志R:R=0表示本通道指令与下一条指令所处理的数据是否属于一条记录。2020年2月1日第五章设备管理205.3缓冲管理1.缓冲的引入缓和CPU与I/O设备间速度不匹配的矛盾凡是数据到达速率与其离去速率不同的地方,都可以设置缓冲区。减少对CPU的中断频率,放宽对CPU中断响应时间的限制提高CPU和I/O设备之间的并行性缓冲的引入可显著地提高CPU和I/O设备间的并行操作读,提高系统的吞吐量和设备的利用率。9.6kb/s1位缓冲(a)(a)9.6kb/s送内存(b)8位缓冲寄存器9.6kb/s送内存(c)8位缓冲寄存器2020年2月1日第五章设备管理215.3缓冲管理2.单缓冲和双缓冲单缓冲凡是数据到达速率与其离去速率不同的地方,都可以设置缓冲区。双缓冲设备输入时,先将数据送入第一个缓冲区,装满后再转向第二个缓冲区,此时操作系统可以从第一个缓冲区移出数据,送入用户进程,接着由CPU对数据进行计算。工作区用户进程缓冲区1操作系统缓冲区2I/O设备工作区用户进程缓冲区I/O设备输入(T)传送(M)处理(C)2020年2月1日第五章设备管理225.3缓冲管理3.循环缓冲循环缓冲的组成(1)多个缓冲区:用于装输入数据的空缓冲区R,已装满数据的缓冲区G以及计算进程正在使用的现行工作缓冲区C。(2)多个指针:用于指示计算进程下
本文标题:操作系统讲义-第五章设备管理
链接地址:https://www.777doc.com/doc-3402627 .html