操作系统原理PrincipleofOperatingSystem精品课程兰州理工大学计算机与通信学院第5章设备管理5.1概述5.2I/O控制5.3I/O软件层次5.4缓冲管理5.5设备分配5.6磁盘调度和管理5.7Windows设备管理本章主要内容操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院控制计算机所有输入/输出设备是操作系统的主要功能之一。在计算机系统中,除了CPU和内存之外,其他的大部分硬件设备称为外部设备。包括常用的输入输出设备、外存设备以及终端设备等。这些设备种类繁多、特性各异、操作时的区别也很大,从而使得操作系统的设备管理变得十分复杂,因此,设备管理是操作系统中最庞杂和琐碎的部分。操作系统原理PrincipleofOperatingSystem精品课程兰州理工大学计算机与通信学院第5章设备管理5.1概述5.2I/O控制5.3I/O软件层次5.4缓冲管理5.5设备分配5.6磁盘调度和管理操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院5.1概述5.1.1设备分类5.1.2设备控制器5.1.3设备通道操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院设备的种类和数量越来越多,结构也越来越复杂,为了管理上的方便,通常按不同的观点,从不同的角度对设备进行分类。1、按照信息交换的单位分类:字符设备(characterdevice)、块设备(blockdevice)2、按照输入输出特性分类:输入输出设备、存储设备、通信设备3、按照所属关系分类:系统设备、用户设备操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院4、按照资源分配方式分类:独占设备、共享设备、虚拟设备5、按照传输速率分类:高速设备、中速设备、低速设备操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院5.1概述5.1.1设备分类5.1.2设备控制器5.1.3设备通道操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院一般而言,设备由两大部分组成:物理设备和电子部件,为了达到设计的模块性和通用性,一般将其分开。物理设备泛指输入输出设备中为执行所规定的操作必须有的物理装置,包括机械运动、光学变换、物理效应以及机电、光电或光机结合的各种有形的设备。电子部件称为设备控制器(DeviceController)或适配器(Adapter),是和计算机系统直接联系的电子部件,在个人计算机中,它常常是一块可以插入主板扩充槽的印刷电路板。操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院1、设备控制器的组成…数据寄存器控制/状态寄存器I/O逻辑控制器与设备接口1控制器与设备接口iCPU与控制器接口控制器与设备接口数据线控制线图5-1设备控制器的组成…数据控制状态地址线数据控制状态设备控制器操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院2、设备控制器的功能⑴接收和识别CPU或通道发来的命令⑵实现数据交换⑶发现和记录设备及自身的状态信息⑷设备地址识别⑸数据缓冲⑹差错控制操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院3、设备、控制器和软件之间的关系应用程序设备控制器图5-2设备、控制器、软件之间的关系设备抽象I/O机器CPU中的软件·设备管理·管理设备控制器的程序·核心模式软件地址总线数据总线操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院5.1概述5.1.1设备分类5.1.2设备控制器5.1.3设备通道操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院通道又称输入输出处理器,相当于一台小型的处理机,它接受主机的命令,独立执行通道程序,对外部设备的输入输出操作进行管理和控制,完成主存储器和外围设备之间的成批数据传输。引入通道技术后,输入输出操作过程:中央处理机在执行主程序时遇到输入输出请求,则它启动指定通道上的外围设备,一旦启动成功,通道开始控制外围设备进行操作。这时CPU就可执行其它任务并与通道并行工作,直到输入输出操作完成。当主机委托的I/O任务完成后,通道发出中断信号,请求CPU处理,CPU停止当前工作,转向处理输入输出操作结束事件。操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院1、通道与设备的连接具有通道装置的计算机,主机、通道、控制器和设备之间采用四级连接,实施三级控制。存储器通道1通道2设备2设备1设备3设备4控制器2控制器1控制器3控制器4设备6设备5设备7设备8图5-3单通路I/O系统的三级连接结构操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院存储器通道1通道2设备2设备1设备3设备4控制器2控制器1图5-4多通路I/O系统的三级连接结构操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院2、通道的类型按照信息交换方式和连接设备种类不同,通道可分为三种类型:⑴字节多路通道(ByteMultiplexerChannel)⑵数组选择通道(BlockedSelectorChannel)⑶数组多路通道(BlockMultiplexerChannel)操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院A控制器B控制器A控制器C控制器NC1C2C3…子通道CB1B2B3…子通道BA1A2A3…子通道AN1N2N3…子通道NA1B1C1…A2B2C2……图5-5字节多路通道工作原理控制器DBCDN设备主通道:操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院A控制器B控制器A控制器C控制器NC1C2C3…子通道CB1B2B3…子通道BA1A2A3…子通道AN1N2N3…子通道NA1A2A3…B1B2B3……图5-6数组选择通道工作原理控制器DBCDN设备操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院数组多路通道将数组选择通道传输速度高和字节多路通道能使各子通道分时并行操作的优点相结合,形成一种新的通道。它含有多个非分配型子通道,使得多个通道程序在同一个通道系统中并行运行,每当执行完一条通道命令,它就转向另一通道程序。由于它在任一时刻只能为一台设备作数据传送服务,这类似于选择通道;但它不等整个通道程序执行结束就能执行另一设备的通道程序命令,这类似于字节多路通道。数组多路通道的实质是:对通道程序采用多道程序设计技术的硬件实现。该通道既具有很高的数据传输速率,又能获得令人满意的通道利用率,因而广泛地应用于连接高速和中速设备。操作系统原理PrincipleofOperatingSystem精品课程兰州理工大学计算机与通信学院第5章设备管理5.1概述5.2I/O控制5.3I/O软件层次5.4缓冲管理5.5设备分配5.6磁盘调度和管理操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院输入输出控制在计算机处理中具有重要的地位,为了有效地实现物理I/O操作,必须通过软、硬件技术,对CPU和I/O设备的职能进行合理分工,以调节系统性能和硬件成本之间的矛盾。随着计算机技术的发展,I/O控制方式逐渐由简到繁,由低级到高级,其主要的发展方向是CPU与外围系统并行工作。按照I/O控制器功能的强弱,以及和CPU之间联系方式的不同,可把I/O设备控制方式分为四类,它们的主要差别在于CPU和外围设备并行工作的方式、并行工作的程度不同。操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院5.2I/O控制5.2.1程序直接控制I/O方式5.2.2中断驱动方式5.2.3DMA方式5.2.4通道方式操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院程序直接控制I/O方式(programmedI/O)又称程序查询方式,在尚无中断的早期计算机系统中,输入输出完全由CPU控制。在这种方式下,输入输出指令或询问指令测试一台设备的“忙/闲”标志位,决定主存储器和外围设备是否交换一个字节或一个字。每传送一个字节或一个字,CPU都要循环地执行状态检查。操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院向I/O设备发出读命令读函数写函数数据设备控制器命令状态数据系统接口硬件接口⑴⑸⑵⑶⑷图5-8程序查询I/O方式操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院5.2I/O控制5.2.1程序直接控制I/O方式5.2.2中断驱动方式5.2.3DMA方式5.2.4通道方式操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院中断技术的引入,是为了消除程序直接控制方式中设备驱动程序不断地轮询控制器状态寄存器的开销,进一步提高系统并行工作的程度。中断技术结合在硬件中实现后,外围设备有了反映其状态的能力,仅当I/O操作正常或异常结束后,由设备控制器“自动地”通知设备驱动程序,这时才中断CPU,实现了一定程度的并行操作,这就叫中断驱动方式(interrupt-drivenI/O)。操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院向I/O设备发出读命令读驱动程序写驱动程序数据设备控制器命令状态数据系统接口硬件接口图5-9中断驱动的I/O方式设备状态表设备处理程序中断处理程序⑴⑷⑺⑶⑵⑸⑹8a8b⑼操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院5.2I/O控制5.2.1程序直接控制I/O方式5.2.2中断驱动方式5.2.3DMA方式5.2.4通道方式操作系统原理PrincipleofOperatingSystem精品课程2020年9月14日星期一兰州理工大学计算机与通信学院⒈DMA控制方式的引入:虽然程序中断方式消除了程序查询方式的“忙式”测试,提高了CPU的利用率,但是CPU在响应中断请求后,必须停止现行程序转入中断处理程序并参与数据传输操作。例如,要从键盘输入1KB的数据,就需要中断1024次CPU。如果I/O设备能直接与主存交换数据而不占用CPU,那么CPU的利用率还可提高,这就出现了直接存储器存取(DirectMemoryAccess,DMA)方式。DMA方式适用于具有DMA控制器的计算机系统。操作系统原理PrincipleofOperating