




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第4 4章章 设设 备备 管管 理理 第第4 4章章 设备管理设备管理 4.1 4.1 设备管理概述设备管理概述 4.2 I/O4.2 I/O控制方式控制方式 4.3 4.3 设备分配设备分配 4.4 4.4 虚拟设备和缓冲技术虚拟设备和缓冲技术 4.5 Windows 20034.5 Windows 2003的的I/OI/O系统系统 主要内容:主要内容: 明确了设备管理在计算机操作系统中的地位、设备的分类、设备管理的目标与功能、设备分配技术、I/O控制方式、虚拟设备和缓冲技术,简要介绍了Windows 2003中的I/O系统。第第4 4章章 设设 备备 管管 理理 设备管理的基本任务:完成
2、用户提出的I/O请求,提高I/O速率以及改善I/O的利用率。 主机: I/O系统:实现数据输入输出及数据存储的系统。第第4 4章章 设设 备备 管管 理理 4.1 设备管理概述设备管理概述4.1.1 设备分类设备分类 1 1 按照数据传输速率分类按照数据传输速率分类 低速设备。指传输速率在每秒几个字节至几百个字节的设备,如键盘、鼠标等。 中速设备。指传输速率在每秒几千字节至几万字节的设备,如激光打印机等。 高速设备。指传输速率在至少几十万字节至几兆字节的设备,如磁带机、磁盘机等。 第第4 4章章 设设 备备 管管 理理 2 按资源分配和使用角度分类按资源分配和使用角度分类 独享设备。 共享设备
3、。 虚拟设备。第第4 4章章 设设 备备 管管 理理 3 3 按照按照I/OI/O设备与计算机系统传输数据的单位分类设备与计算机系统传输数据的单位分类 字符型设备。字符型设备。 块设备。块设备。4 4 按设备的从属关系分类按设备的从属关系分类 系统设备。系统设备。 用户设备。用户设备。第第4 4章章 设设 备备 管管 理理 5 5 按使用特性分类按使用特性分类 输入/输出设备。 存储设备。第第4 4章章 设设 备备 管管 理理 4.1.2 4.1.2 设备管理的目标与功能设备管理的目标与功能设备管理的目标主要有:设备管理的目标主要有:1 1 根据设备请求的情况,按照一定的算法,选根据设备请求的
4、情况,按照一定的算法,选择和分配输入输出设备以便进行数据传输操作;择和分配输入输出设备以便进行数据传输操作;2 2 控制输入输出设备和控制输入输出设备和CPUCPU或内存之间交换数或内存之间交换数据,同时提高设备和设备之间、据,同时提高设备和设备之间、CPUCPU和设备之间,和设备之间,以及进程和进程之间的并行操作度,以使操作系以及进程和进程之间的并行操作度,以使操作系统获得最佳效率;统获得最佳效率;3 3 为用户提供一个友好的透明接口,把用户和为用户提供一个友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,系统按用户
5、要求控制设备工不必涉及具体设备,系统按用户要求控制设备工作。作。第第4 4章章 设设 备备 管管 理理 设备管理应具体以下功能:设备管理应具体以下功能:1. 1. 对设备进行有效分配。按照设备的独享、共对设备进行有效分配。按照设备的独享、共享的不同类型,以及系统中所采用的分配算法来享的不同类型,以及系统中所采用的分配算法来决定把一个决定把一个I/OI/O设备分配给哪一个要求该类设备设备分配给哪一个要求该类设备的进程。的进程。2 2 实现设备和设备、设备和实现设备和设备、设备和CPUCPU等之间的并行等之间的并行操作。需要有相应的硬件支持。操作。需要有相应的硬件支持。3 3 缓冲区管理。设备管理
6、程序负责进行缓冲区缓冲区管理。设备管理程序负责进行缓冲区分配、释放及有关的管理工作。分配、释放及有关的管理工作。4 4 提供和进程管理系统的接口。当进程要求设提供和进程管理系统的接口。当进程要求设备资源时,该接口将进程要求转达给设备管理程备资源时,该接口将进程要求转达给设备管理程序。序。第第4 4章章 设设 备备 管管 理理 4.1.3 设备标识和设备驱动程序设备标识和设备驱动程序1. 1. 逻辑设备与物理设备逻辑设备与物理设备(1) 逻辑设备与物理设备的概念逻辑设备与物理设备的概念 物理设备是一个具体的设备。系统为了能识物理设备是一个具体的设备。系统为了能识别全部外设,给每台外设分配一个唯一
7、不变的名别全部外设,给每台外设分配一个唯一不变的名字,称为物理设备名。系统在实际工作时使用物字,称为物理设备名。系统在实际工作时使用物理设备名。理设备名。 逻辑设备是对实际物理设备属性的抽象,它逻辑设备是对实际物理设备属性的抽象,它并不限于某个具体设备。用户在编程时,不用关并不限于某个具体设备。用户在编程时,不用关心系统具体配置了哪些设备,也不需要了解各种心系统具体配置了哪些设备,也不需要了解各种设备的物理特性,而只是按照惯例为所用的设备设备的物理特性,而只是按照惯例为所用的设备起个逻辑名字,称为逻辑设备名。起个逻辑名字,称为逻辑设备名。第第4 4章章 设设 备备 管管 理理 4.1.3 设备
8、标识和设备驱动程序设备标识和设备驱动程序(2) 设备独立性设备独立性 设备独立性也称设备无关性,指用户编设备独立性也称设备无关性,指用户编程时所使用的设备与实际使用的设备无关。程时所使用的设备与实际使用的设备无关。 用户程序以逻辑设备名来请求使用某类用户程序以逻辑设备名来请求使用某类设备时,系统将在该类设备中,根据设备的设备时,系统将在该类设备中,根据设备的使用情况,将任一台合适的物理设备分配给使用情况,将任一台合适的物理设备分配给程序。程序。 第第4 4章章 设设 备备 管管 理理 设备独立性的优点设备独立性的优点 (1) 方便用户编程。方便用户编程。 (2) 便于程序移植。便于程序移植。
9、(3) 提高了资源利用率。如果一台设备很忙提高了资源利用率。如果一台设备很忙, 或或出了故障出了故障, 可换另一台可换另一台, 设备得到充分利用。设备得到充分利用。 (4) 能适应多用户多进程的需要。能适应多用户多进程的需要。 第第4 4章章 设设 备备 管管 理理 2. 2. 设备驱动程序设备驱动程序 设备驱动程序是驱动物理设备直接进行各种操设备驱动程序是驱动物理设备直接进行各种操作的软件,它可看作作的软件,它可看作I/OI/O系统和物理设备的接口。系统和物理设备的接口。 操作系统设计者把与物理设备直接有关的软件操作系统设计者把与物理设备直接有关的软件部分独立出来,换成设备驱动程序系列,一般
10、由设部分独立出来,换成设备驱动程序系列,一般由设备商和软硬件开发商提供的针对某一种具体设备的备商和软硬件开发商提供的针对某一种具体设备的驱动程序组成。系统和用户可根据需要,灵活配置驱动程序组成。系统和用户可根据需要,灵活配置物理设备,选择相应的驱动程序装载。物理设备,选择相应的驱动程序装载。 虽然不同的设备需要不同的设备驱动程序,但虽然不同的设备需要不同的设备驱动程序,但这些驱动程序所实现的功能大体相似,即接收用户这些驱动程序所实现的功能大体相似,即接收用户的的I/OI/O请求、进行必要的检测与设置、启动请求、进行必要的检测与设置、启动I/OI/O设备设备进行必要的操作。进行必要的操作。 第第
11、4 4章章 设设 备备 管管 理理 4.2 I/O控制方式控制方式4.2.1 I/O系统的组成系统的组成 1.I/O1.I/O软件:主要任务是如何将用户编制的程序或软件:主要任务是如何将用户编制的程序或数据输入至主机内;如何将运算结果输送给用户;如数据输入至主机内;如何将运算结果输送给用户;如何实现何实现I/OI/O系统与主机工作的协调等。系统与主机工作的协调等。I/OI/O指令:是机器指令的一类指令:是机器指令的一类通道指令:是对具有通道的通道指令:是对具有通道的I/OI/O系统专门设置的指令,系统专门设置的指令,又叫通道控制字,是通道自身的指令,用于执行又叫通道控制字,是通道自身的指令,用
12、于执行I/OI/O操操作,它由作,它由OSOS存放在主存,由通道从主存中取出并执行。存放在主存,由通道从主存中取出并执行。 操作码操作码 命令码命令码 设备码设备码第第4 4章章 设设 备备 管管 理理 4.2 I/O控制方式控制方式2.I/O硬件:硬件:(1) 设备控制器设备控制器 由于是设备挂接在控制器上,因此要让设备做输由于是设备挂接在控制器上,因此要让设备做输入入/ /输出操作,操作系统总是与控制器交往,而不是与输出操作,操作系统总是与控制器交往,而不是与设备交往。操作系统把命令以及执行命令时所需要的设备交往。操作系统把命令以及执行命令时所需要的参数一起写入控制器的寄存器中,以实现输入
13、参数一起写入控制器的寄存器中,以实现输入/ /输出。输出。在控制器接受了一条命令后,就可以独立于在控制器接受了一条命令后,就可以独立于CPUCPU去完成去完成命令指定的任务。命令指定的任务。 第第4 4章章 设设 备备 管管 理理 设备控制器的基本功能:设备控制器的基本功能: (1 1)接收和识别命令。)接收和识别命令。CPUCPU可以向控制器发送多种可以向控制器发送多种不同的命令,设备控制器应能接收并识别这些命令。不同的命令,设备控制器应能接收并识别这些命令。 (2 2)数据交换。是指实现)数据交换。是指实现CPUCPU与控制器之间、控制与控制器之间、控制器与设备之间的数据。器与设备之间的数
14、据。 (3 3)地址识别。为使)地址识别。为使CPUCPU能向(或从)寄存器中写能向(或从)寄存器中写入(或读出)数据,这些寄存器都应具有唯一的地址。入(或读出)数据,这些寄存器都应具有唯一的地址。控制器应能正确识别这些地址,为此,在控制器中应控制器应能正确识别这些地址,为此,在控制器中应配置地址译码器。配置地址译码器。 (4 4)标识和报告设备的状态。控制器应记下设备)标识和报告设备的状态。控制器应记下设备的状态供的状态供CPUCPU了解。为此,在控制器应设置一状态寄存了解。为此,在控制器应设置一状态寄存器,器, (5 5)差错控制。设备控制器还兼管对由)差错控制。设备控制器还兼管对由I/O
15、I/O设备传设备传送来的数据进行差错检测。送来的数据进行差错检测。 (6 6)数据缓冲。在控制器中设置一缓冲器,以此)数据缓冲。在控制器中设置一缓冲器,以此协调协调CPUCPU和和I/OI/O设备的速度。设备的速度。第第4 4章章 设设 备备 管管 理理 设备控制器的组成设备控制器的组成 (1 1)设备控制器与处理机的接口。该接口用)设备控制器与处理机的接口。该接口用于实现于实现CPUCPU与设备控制器之间的通信。共有三类信与设备控制器之间的通信。共有三类信号线:数据线、地址线和控制线。号线:数据线、地址线和控制线。 (2 2)设备控制器与设备的接口。在控制器中)设备控制器与设备的接口。在控制
16、器中可有一个或多个设备接口,一个接口连接一台设可有一个或多个设备接口,一个接口连接一台设备。在每个接口中都存在数据、控制和状态三种备。在每个接口中都存在数据、控制和状态三种类型的信号。(如下页图示)类型的信号。(如下页图示) (3 3)I/OI/O逻辑。在设备控制器中的逻辑。在设备控制器中的I/OI/O逻辑用逻辑用于实现对设备的控制。它通过一组控制线与处理于实现对设备的控制。它通过一组控制线与处理机交互,处理机向控制器发送机交互,处理机向控制器发送I/OI/O命令后,命令后,I/OI/O逻逻辑对收到的命令进行译码。辑对收到的命令进行译码。第第4 4章章 设设 备备 管管 理理 设备与控制器间的
17、接口设备与控制器间的接口 缓冲转换器控制逻辑信号数据数据信号线状态信号线控制信号线至设备控制器I/O设备至设备第第4 4章章 设设 备备 管管 理理 设备控制器的组成设备控制器的组成 数据寄存器控制/状态寄存器CPU与控制器接口数据线地址线控制线I/O逻辑控制器与设备接口1控制器与设备接口i数据状态控制数据状态控制控制器与设备接口第第4 4章章 设设 备备 管管 理理 (2)通道:)通道: 实际上,实际上,I/O通道是一种特殊的处理机。它具通道是一种特殊的处理机。它具有执行有执行I/O指令的能力,并通过执行通道指令的能力,并通过执行通道(I/O)程序程序来控制来控制I/O操作。操作。(3)外设
18、:)外设:第第4 4章章 设设 备备 管管 理理 4.2.2 4.2.2 输入输出控制方式输入输出控制方式 按照按照I/OI/O控制功能的强弱,以及和控制功能的强弱,以及和CPUCPU之之间联系方式的不同,可把间联系方式的不同,可把I/OI/O控制方式分成程控制方式分成程序直接控制方式、中断驱动方式、序直接控制方式、中断驱动方式、DMADMA控制方控制方式和通道式和通道I/OI/O控制方式四种。控制方式四种。 宗旨:尽量减少主机对宗旨:尽量减少主机对I/OI/O控制的干预,控制的干预,把主机从繁杂的把主机从繁杂的I/OI/O控制事务中解脱出来,以控制事务中解脱出来,以便更多地去完成数据处理任务
19、。便更多地去完成数据处理任务。第第4 4章章 设设 备备 管管 理理 1. 1. 程序直接控制方式程序直接控制方式 程序直接控制方式是指由程序直接控制程序直接控制方式是指由程序直接控制内存或内存或CPUCPU和外围设备之间进行信息传送的方和外围设备之间进行信息传送的方式。也称为是通常又称为式。也称为是通常又称为“忙忙等等”方式或方式或循环测试方式,这是早期操作系统采用的一循环测试方式,这是早期操作系统采用的一种控制方式。种控制方式。 输出设备OD输入设备ID处理机CPU主存储器MM第第4 4章章 设设 备备 管管 理理 向I/O控制器发读命令读I/O控制器的状态检查状态?从I/O控制器中读入字
20、向存储器中写字传送完成?未就绪就绪出错CPUI/OI/OCPUI/OCPUCPU 内存下条指令完成未完向I/O控制器发读命令读I/O控制器的状态检查状态?从I/O控制器中读字向内存中写字传送完成?就绪出错CPUI/OI/OCPUI/OCPUCPU 内存下条指令完成未完中断CPU做其它事向I/O控制器发布读块命令CPUDMACPU做其它事读DMA控制器的状态中断DMACPU下条指令(a) 程序I/O方式(b) 中断驱动方式(c) DMA方式 在数据传送过程中,在数据传送过程中,必不可少的一个硬件设必不可少的一个硬件设备是备是I/O控制器,它是操控制器,它是操作系统软件和硬件设备作系统软件和硬件设
21、备之间的接口,它接收之间的接口,它接收CPU的命令,并控制的命令,并控制I/O设备进行实际的操作。设备进行实际的操作。第第4 4章章 设设 备备 管管 理理 程序直接控制方式的缺点:程序直接控制方式的缺点:(1)CPU花大量时间进行测试和等待。花大量时间进行测试和等待。(2)CPU与设备串行工作。与设备串行工作。第第4 4章章 设设 备备 管管 理理 2.2.中断驱动方式中断驱动方式 当某进程要启动某个当某进程要启动某个I/OI/O设备工作时,便设备工作时,便由由CPUCPU向相应的设备控制器发出一条向相应的设备控制器发出一条I/OI/O命令,命令,然后立即返回继续执行原来的任务。设备控然后立
22、即返回继续执行原来的任务。设备控制器按照该命令的要求去控制指定制器按照该命令的要求去控制指定I/OI/O设备。设备。此时,此时,CPUCPU与与I/OI/O设备并行操作。设备并行操作。 字符设备采用。字符设备采用。第第4 4章章 设设 备备 管管 理理 I/O设备1I/O设备nI/O控制器1I/O控制器nCPUstartINT内存第第4 4章章 设设 备备 管管 理理 向I/O控制器发读命令读I/O控制器的状态检查状态?从I/O控制器中读入字向存储器中写字传送完成?未就绪就绪出错CPUI/OI/OCPUI/OCPUCPU 内存下条指令完成未完向I/O控制器发读命令读I/O控制器的状态检查状态?
23、从I/O控制器中读字向内存中写字传送完成?就绪出错CPUI/OI/OCPUI/OCPUCPU 内存下条指令完成未完中断CPU做其它事向I/O控制器发布读块命令CPUDMACPU做其它事读DMA控制器的状态中断DMACPU下条指令(a) 程序I/O方式(b) 中断驱动方式(c) DMA方式第第4 4章章 设设 备备 管管 理理 3. DMA方式:直接存储器访问方式方式:直接存储器访问方式(1) DMA(Direct Memory Access)控制方式)控制方式的引入的引入 虽然中断驱动虽然中断驱动I/O比程序直接控制方式更有比程序直接控制方式更有效,但它仍是以字节为单位进行效,但它仍是以字节为
24、单位进行I/O操作的,每操作的,每当完成一个字节的当完成一个字节的I/O时,控制器便要向时,控制器便要向CPU请请求一次中断,显然是低效的。为了进一步减少求一次中断,显然是低效的。为了进一步减少CPU对外设操作干预而引入了直接存储器访问方对外设操作干预而引入了直接存储器访问方式(式(DMA)。其基本思想是在外围设备和内存)。其基本思想是在外围设备和内存之间开辟直接的数据交换通路。之间开辟直接的数据交换通路。 第第4 4章章 设设 备备 管管 理理 输出设备OD输入设备ID主存储器MM处理机CPUI/O总线存储器总线第第4 4章章 设设 备备 管管 理理 DMA方式的特点是:方式的特点是:(1)
25、 数据传送的基本单位是数据块;数据传送的基本单位是数据块;(2) 所传送的数据是从设备直接送入内所传送的数据是从设备直接送入内存,或者相反;存,或者相反;(3) 仅在传送一个或多个数据块的开始仅在传送一个或多个数据块的开始和结束时,才需中断和结束时,才需中断CPU,请求干预,整,请求干预,整块数据的传送是在块数据的传送是在DMA控制器控制下完成控制器控制下完成的。的。第第4 4章章 设设 备备 管管 理理 向I/O控制器发读命令读I/O控制器的状态检查状态?从I/O控制器中读入字向存储器中写字传送完成?未就绪就绪出错CPUI/OI/OCPUI/OCPUCPU 内存下条指令完成未完向I/O控制器
26、发读命令读I/O控制器的状态检查状态?从I/O控制器中读字向内存中写字传送完成?就绪出错CPUI/OI/OCPUI/OCPUCPU 内存下条指令完成未完中断CPU做其它事向I/O控制器发布读块命令CPUDMACPU做其它事读DMA控制器的状态中断DMACPU下条指令(a) 程序I/O方式(b) 中断驱动方式(c) DMA方式第第4 4章章 设设 备备 管管 理理 2. DMA控制器的组成控制器的组成 DMA控制器由三部分组成,分别是主机与DMA控制器的接口、DMA控制器与块设备的接口、I/O控制逻辑。DMA控制器的组成如图4.4所示。命令命令控制器与设备控制器与设备接口接口主机主机控制器控制器
27、接口接口内存内存CPU系统总线系统总线I/O控制逻辑CRMARDCDRcount第第4 4章章 设设 备备 管管 理理 CR:控制状态寄存器。DR:数据缓冲寄存器。DC:传送字节数计数器。MAR:内存地址寄存器。以磁盘读入数据为例。第第4 4章章 设设 备备 管管 理理 3. DMA工作过程工作过程 DMA方式的工作流程方式的工作流程 第第4 4章章 设设 备备 管管 理理 4. DMA方式与中断方式的区别方式与中断方式的区别 DMA方式与中断驱动方式的主要区别有:方式与中断驱动方式的主要区别有: (1) 中断方式是在数据缓冲寄存区满后,中断方式是在数据缓冲寄存区满后,发中断请求,发中断请求,
28、CPU进行中断处理;进行中断处理;DMA方式则方式则是在所要求传送的数据块全部传送结束时要求是在所要求传送的数据块全部传送结束时要求CPU进行中断处理,大大减少了进行中断处理,大大减少了CPU进行中断处进行中断处理的次数。理的次数。 (2) 中断方式的数据传送是由中断方式的数据传送是由CPU控制完控制完成的;而成的;而DMA方式则是在方式则是在DMA控制器的控制下控制器的控制下不经过不经过CPU控制完成的。控制完成的。第第4 4章章 设设 备备 管管 理理 4. 4. 通道通道I/OI/O控制方式控制方式 (1 1) 通道的引入通道的引入 通道的引入是为了建立独立的通道的引入是为了建立独立的I
29、/OI/O操作。它不仅要求操作。它不仅要求数据传送独立于数据传送独立于CPUCPU,而且要求,而且要求I/OI/O操作的组织、管理及操作的组织、管理及结束处理等也尽量独立,以保证结束处理等也尽量独立,以保证CPUCPU有更多的时间从事数有更多的时间从事数据处理。据处理。 I/OI/O通道与一般的处理机不同,主要表现在两个方面通道与一般的处理机不同,主要表现在两个方面 (1 1) 指令类型单一。指令类型单一。 (2 2) 没有自己的内存。没有自己的内存。 第第4 4章章 设设 备备 管管 理理 第第4 4章章 设设 备备 管管 理理 (2)通道类型)通道类型 1) 字节多路通道字节多路通道(By
30、te Multiplexor Channel)这是一种简单的以字这是一种简单的以字节为单位传输的共享通道,适宜连接打印机、终端、卡片机等低节为单位传输的共享通道,适宜连接打印机、终端、卡片机等低速或中速的字符设备服务。速或中速的字符设备服务。 字节多路通道的工作原理字节多路通道的工作原理 控制器A控制器B控制器C控制器D控制器NA1A2A3子通道AB1B2B3子通道BC1C2C3子通道CN1N2N3子通道NA1B1C1A2B2C2设备第第4 4章章 设设 备备 管管 理理 2) 数组选择通道数组选择通道(Block Selector Channel) 字节多路通道不适于连接高速设备,这推动了按
31、数组方式字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道的形成。进行数据传送的数组选择通道的形成。它适用于连接高速它适用于连接高速I/O设备,如磁带、磁盘等。设备,如磁带、磁盘等。 这种通道虽然可以连接多台高速设备,但由于它只含有一这种通道虽然可以连接多台高速设备,但由于它只含有一个分配型子通道,在一段时间内只能执行一道通道程序,个分配型子通道,在一段时间内只能执行一道通道程序, 控控制一台设备进行数据传送,制一台设备进行数据传送, 致使当某台设备占用了该通道后,致使当某台设备占用了该通道后,便一直由它独占,便一直由它独占, 即使是它无数据传送,通道被闲置,即使是它
32、无数据传送,通道被闲置, 也不也不允许其它设备使用允许其它设备使用该通道,该通道, 直至该设备传送完毕释放该通道。直至该设备传送完毕释放该通道。可见,这种通道的利用率很低。可见,这种通道的利用率很低。第第4 4章章 设设 备备 管管 理理 3) 数组多路通道数组多路通道(Block Multiplexor Channel) 数组选择通道虽有很高的传输速率,但它却每次只允许一个设数组选择通道虽有很高的传输速率,但它却每次只允许一个设备传输数据。数组多路通道是将数组选择通道传输速率高和字节多备传输数据。数组多路通道是将数组选择通道传输速率高和字节多路通道能使各子通道路通道能使各子通道(设备设备)分
33、时并行操作的优点相结合而形成的一分时并行操作的优点相结合而形成的一种新通道。它含有多个非分配型子通道,种新通道。它含有多个非分配型子通道,每个子通道连接一台中、每个子通道连接一台中、高速高速I/O设备,如:磁带、磁鼓、磁盘等,因而通道所连接的几个设备,如:磁带、磁鼓、磁盘等,因而通道所连接的几个设备可以并行工作。设备可以并行工作。 这种通道既具有很高的数据传输速率,又能获得令人满意的通道利这种通道既具有很高的数据传输速率,又能获得令人满意的通道利用率。也正因此,才使该通道能被广泛地用于连接用率。也正因此,才使该通道能被广泛地用于连接多台高、中速的多台高、中速的外围设备。外围设备。第第4 4章章
34、 设设 备备 管管 理理 第第4 4章章 设设 备备 管管 理理 “瓶颈瓶颈”问题问题 单通路I/O系统 设备1设备2设备3设备4设备5设备6设备7控制器1控制器2控制器3控制器4通道1通道2存储器第第4 4章章 设设 备备 管管 理理 多通路多通路I/O系统系统 I/O设备控制器1控制器2通道1通道2存储器I/O设备I/O设备I/O设备第第4 4章章 设设 备备 管管 理理 (3 3) 通道程序通道程序 通道使用自己的指令系统进行控制,它们与通道使用自己的指令系统进行控制,它们与CPUCPU的指的指令不同,通常把这些指令称为通道命令。通道命令是通令不同,通常把这些指令称为通道命令。通道命令是
35、通道从内存中取出并控制道从内存中取出并控制I/OI/O设备执行设备执行I/OI/O操作的命令字,操作的命令字,一条通道命令称为一个通道命令字(一条通道命令称为一个通道命令字(Channel Command Channel Command Word , CCWWord , CCW),用通道命令编写的程序称为通道程序,),用通道命令编写的程序称为通道程序,也叫也叫I/OI/O程序。一条通道命令只实现一种功能,所能通道程序。一条通道命令只实现一种功能,所能通道程序一般由多条通道命令组成。程序一般由多条通道命令组成。 第第4 4章章 设设 备备 管管 理理 (4 4) 通道工作过程通道工作过程 CPU
36、形成通道程序形成通道程序CPU向通道发一条向通道发一条I/O指令指令给出通道程序首址和要访问的设备给出通道程序首址和要访问的设备通道执行通道程序负责数据传送通道执行通道程序负责数据传送整个整个I/O结束,通道向结束,通道向CPU发中断请求发中断请求CPU响应,关通道响应,关通道第第4 4章章 设设 备备 管管 理理 CPU运行用户程序运行用户程序CPU运行运行I/O管理程序管理程序通道运行存放在通道运行存放在主存中的通道程序主存中的通道程序请求请求I/O指令指令编制通道程序编制通道程序启动启动I/O通道通道组织组织I/O操作操作向向CPU发中断请求发中断请求响应响应I/O中断请求中断请求处理处
37、理第第4 4章章 设设 备备 管管 理理 (5 5) 通道和通道和DMADMA控制器的区别控制器的区别 通道和通道和DMADMA控制器的主要区别如下:控制器的主要区别如下: (1 1)一个)一个DMADMA控制器只能连接同类外设,且如控制器只能连接同类外设,且如果是多台同类外设,则它们只能是以串行方式工作。果是多台同类外设,则它们只能是以串行方式工作。一个通道可以连接多个不同类型的设备控制器,而一个通道可以连接多个不同类型的设备控制器,而一个设备控制器又可以管理一台或多台外围设备,一个设备控制器又可以管理一台或多台外围设备,这就构成了典型的多级层次结构,众多外设均可在这就构成了典型的多级层次结
38、构,众多外设均可在通道控制下同时工作;通道控制下同时工作; (2 2)DMADMA控制是借助硬件完成数据交换的,而控制是借助硬件完成数据交换的,而通道是执行通道程序完成数据的;通道是执行通道程序完成数据的; (3 3)DMADMA控制器需要控制器需要CPUCPU对多个外设进行初始化。对多个外设进行初始化。CPUCPU只需发一个只需发一个I/OI/O指令启动通道,由通道自己完成指令启动通道,由通道自己完成外设的初始化。外设的初始化。第第4 4章章 设设 备备 管管 理理 4.3 I/O处理步骤用户使用用户使用I/O指令发出指令发出I/O请求请求转转I/O管理程序管理程序转设备驱动程序,初始化、启
39、动转设备驱动程序,初始化、启动I/O当设备发来中断,由设备中断处理程序进当设备发来中断,由设备中断处理程序进行处理,进行数据传输(设备驱动程序行处理,进行数据传输(设备驱动程序 中断驱动程序中断驱动程序 ) 完成完成I/O后,由设备驱动程序转后,由设备驱动程序转I/O管理程管理程序序第第4 4章章 设设 备备 管管 理理 一、一、I/O管理程序管理程序 阻塞调用进程阻塞调用进程 验证验证I/O请求请求 调用设备驱动程序调用设备驱动程序 校验设备状态校验设备状态 激活调用进程激活调用进程第第4 4章章 设设 备备 管管 理理 二、设备驱动程序二、设备驱动程序 设备驱动程序是设备驱动程序是I/O进
40、程与设备控制进程与设备控制器之间的通信程序,其主要任务是接收器之间的通信程序,其主要任务是接收命令,分析后发给设备控制器,也将设命令,分析后发给设备控制器,也将设备控制器发来的信号传送给上层软件。备控制器发来的信号传送给上层软件。第第4 4章章 设设 备备 管管 理理 设备驱动程序的特点:设备驱动程序的特点:1.驱动程序主要是指在请求驱动程序主要是指在请求I/O的进程与设备控的进程与设备控制器之间的一个通信和转换程序。制器之间的一个通信和转换程序。2.它与设备控制器和它与设备控制器和I/O设备的硬件特性紧密相设备的硬件特性紧密相关。关。3.它与它与I/O设备所采用的设备所采用的I/O控制方式紧
41、密相关。控制方式紧密相关。4.它和硬件紧密相关,其中一部分必须用汇编它和硬件紧密相关,其中一部分必须用汇编语言编写。语言编写。第第4 4章章 设设 备备 管管 理理 设备驱动程序的处理过程:设备驱动程序的处理过程:(1)将抽象要求转换为具体要求。)将抽象要求转换为具体要求。(2)检查)检查I/O请求的合法性。请求的合法性。(3)读出和检查设备的状态。)读出和检查设备的状态。(4)传送必要的参数,如)传送必要的参数,如DMA方式中的方式中的MAR、DC等。等。(5)工作方式的设置。)工作方式的设置。(6)启动)启动I/O设备。设备。第第4 4章章 设设 备备 管管 理理 三、中断处理过程三、中断
42、处理过程1.中断处理流程:中断处理流程: 关中断关中断 保护被中断现场保护被中断现场 识别中断源,转向中断处理程序识别中断源,转向中断处理程序 恢复现场恢复现场 CPU开中断开中断第第4 4章章 设设 备备 管管 理理 2.中断处理程序:中断处理程序:从设备控制器中读设备状态从设备控制器中读设备状态判断本次中断是正常完成还是异常结束判断本次中断是正常完成还是异常结束 结束处理结束处理 根据异常原因做相应处理根据异常原因做相应处理再向控制器发新命令,再向控制器发新命令,进行新一轮数据传送进行新一轮数据传送正常正常异常异常第第4 4章章 设设 备备 管管 理理 小结:小结:I/O系统的组成系统的组
43、成硬件硬件软件软件设备控制器设备控制器通道通道外设外设I/O管理程序管理程序设备驱动程序设备驱动程序中断处理程序中断处理程序通道指令通道指令I/O指令指令第第4 4章章 设设 备备 管管 理理 4.4 设备分配设备分配4.4.1 4.4.1 设备分配的数据结构设备分配的数据结构 1. 1. 设备控制表设备控制表DCT(DeviceDCT(Device Control Table) Control Table) 设备控制表设备控制表DCTDCT反映设备的特性、设备和反映设备的特性、设备和I/OI/O控制器的连接情况。系统中控制器的连接情况。系统中每个设备都必须有一每个设备都必须有一张张DCTDC
44、T,且在系统生成时或在该设备和系统连接,且在系统生成时或在该设备和系统连接时创建,但表中的内容则根据系统执行情况而被时创建,但表中的内容则根据系统执行情况而被动态地修改。动态地修改。 内容:设备类型、设备标识符、设备状态、内容:设备类型、设备标识符、设备状态、请求队列队首指针、设备驱动程序始址,指向控请求队列队首指针、设备驱动程序始址,指向控制器表的指针等。制器表的指针等。 第第4 4章章 设设 备备 管管 理理 2. 2. 系统设备表系统设备表SDTSDT(System Device Table System Device Table ) 整个系统有一张系统设备表整个系统有一张系统设备表SD
45、TSDT,它记录了,它记录了已被连接到系统中的所有物理设备的情况,并为已被连接到系统中的所有物理设备的情况,并为每个物理设备设一个表项。每个物理设备设一个表项。SDTSDT的每个表项包括的每个表项包括设备标识符、设备类型、设备设备标识符、设备类型、设备DCTDCT指针、驱动程指针、驱动程序入口等内容。序入口等内容。3. 3. 控制器表控制器表COCT(COntrolerCOCT(COntroler Control Table) Control Table) 系统中系统中每个控制器有一张每个控制器有一张COCTCOCT,它包含控制,它包含控制器标识、控制器状态、控制器请求队列指针、与器标识、控制
46、器状态、控制器请求队列指针、与控制器连接的通道表指针等内容。它反映了控制器连接的通道表指针等内容。它反映了I/OI/O控制器的使用状态以及和通道的连接情况等(在控制器的使用状态以及和通道的连接情况等(在DMADMA方式时,该项是没有的)。方式时,该项是没有的)。4. 4. 通道控制表通道控制表CHCTCHCT(Channel Control TableChannel Control Table) CHCTCHCT中包括通道标识符、通道状态、通道请中包括通道标识符、通道状态、通道请求队列指针、其他信息等。该表只在通道控制方求队列指针、其他信息等。该表只在通道控制方式的系统中存在,式的系统中存在,
47、每个通道一张每个通道一张CHCTCHCT。 第第4 4章章 设设 备备 管管 理理 第第4 4章章 设设 备备 管管 理理 设备分配策略设备分配策略1.按设备的使用性质分:按设备的使用性质分:独享分配策略:设备得不到充分利用,易死锁独享分配策略:设备得不到充分利用,易死锁共享分配策略:需实现合理调度共享分配策略:需实现合理调度虚拟分配策略虚拟分配策略2.设备分配算法:设备分配算法:先请求先服务先请求先服务优先级高者优先优先级高者优先第第4 4章章 设设 备备 管管 理理 3.设备分配的安全性(即保证进程不发生死锁)设备分配的安全性(即保证进程不发生死锁) 静态分配:静态分配: 动态分配:(动态
48、分配:(易死锁)易死锁) 安全分配:安全分配:发出发出I/O请求后就阻塞,直至请求后就阻塞,直至I/O完成,这时不会有完成,这时不会有“请求和保持发生请求和保持发生”;进;进行进展慢。行进展慢。 不安全分配:不安全分配:发出发出I/O请求后仍继续运行,仅请求后仍继续运行,仅当设备被另一进行占有时才阻塞;易死锁。当设备被另一进行占有时才阻塞;易死锁。第第4 4章章 设设 备备 管管 理理 4.4.2 4.4.2 独享设备的分配独享设备的分配 在一个具有I/O通道的系统中,当进程提出I/O请求时,对独占设备的分配过程是首先为进行分配合适的设备,然后分配控制器,再分配通道。第第4 4章章 设设 备备
49、 管管 理理 设备分配流程设备分配流程P请求请求I/OSDT DCT设备忙?设备忙?检查安全检查安全 等待等待性性安全?安全? 设备给设备给P COCT 控制器忙?控制器忙? 等待等待 等待等待控制器给控制器给P CHCT 通道忙?通道忙? 通道给通道给P 等待等待启动启动I/O第第4 4章章 设设 备备 管管 理理 4.4.3 4.4.3 共享磁盘的调度共享磁盘的调度1. 1. 磁盘的结构磁盘的结构盘片盘片扇区扇区盘组盘组柱面柱面磁头磁头 要确定一个块所在的位置必须给出三个要确定一个块所在的位置必须给出三个参数:柱面号、磁头号、扇区号。参数:柱面号、磁头号、扇区号。第第4 4章章 设设 备备
50、 管管 理理 磁盘的结构如图磁盘的结构如图4.114.11所示所示磁道磁道扇区扇区柱面柱面轴轴读写读写头头移动移动臂臂图图 4.114.11 磁盘结构磁盘结构第第4 4章章 设设 备备 管管 理理 磁盘的类型磁盘的类型 1) 固定头磁盘固定头磁盘 这种磁盘在每条磁道上都有一读这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读进行并行读/写,有效地提高了磁盘的写,有效地提高了磁盘的I/O速度。速度。 这种结构的这种结构的磁盘主要用于大容量磁盘上。磁盘主要用于大容量
51、磁盘上。 2) 移动头磁盘移动头磁盘 每一个盘面仅配有一个磁头,也被装入磁臂中。为能访每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读见,移动磁头仅能以串行方式读/写,致使其写,致使其I/O速度较慢;速度较慢;但但由于其结构简单,由于其结构简单, 故仍广泛应用于中小型磁盘设备中。故仍广泛应用于中小型磁盘设备中。 第第4 4章章 设设 备备 管管 理理 2. 磁盘访问时间磁盘访问时间 1) 寻道时间寻道时间Ts 这是指把磁头移动到指定磁道(柱面)上所经历的这是指把磁
52、头移动到指定磁道(柱面)上所经历的时间。时间。 2) 旋转延迟时间旋转延迟时间T 这是指定扇区移动到磁头下面所经历的时间。这是指定扇区移动到磁头下面所经历的时间。 3) 传输时间传输时间Tt 这是指把数据从磁盘读出或向磁盘写入数据所经历这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。的时间。第第4 4章章 设设 备备 管管 理理 访盘时间组成访盘时间组成 第第4 4章章 设设 备备 管管 理理 3.3.磁盘调度策略磁盘调度策略(1 1)先来先服务()先来先服务( FCFS FCFS )算法)算法 它将各进程对磁盘请求的等待队列按提出请求的时间进行排序,并按此次序给予服务。它对各进程是公平的
53、,它不管进程优先级多高,只要是新来到的访问请求,都被排在队尾。 第第4 4章章 设设 备备 管管 理理 FCFS调度算法磁盘读写请求队列:磁盘读写请求队列:55、58、39、18、90、160、150、38、184第第4 4章章 设设 备备 管管 理理 2 2 最短寻道时间优先最短寻道时间优先(SSTF(SSTF)算法)算法 将请求队列中柱面号最接近于磁头当前所在将请求队列中柱面号最接近于磁头当前所在柱面的访问要求,作为一个服务对象的一种算法。柱面的访问要求,作为一个服务对象的一种算法。 缺点:易导致缺点:易导致“饥饿饥饿”现象。现象。第第4 4章章 设设 备备 管管 理理 SSTF调度算法
54、磁盘读写请求队列:磁盘读写请求队列:55、58、39、18、90、160、150、38、184第第4 4章章 设设 备备 管管 理理 3 扫描(扫描(SCAN)算法)算法 也叫电梯算法。大多数电梯保持按一个方向移也叫电梯算法。大多数电梯保持按一个方向移动,直到没有请求为止,然后改变方向。扫描算法动,直到没有请求为止,然后改变方向。扫描算法是在选择请求队列中,按磁臂前进方向最接近于磁是在选择请求队列中,按磁臂前进方向最接近于磁头当前所在柱面的访问要求作为下一个服务对象。头当前所在柱面的访问要求作为下一个服务对象。第第4 4章章 设设 备备 管管 理理 SCAN调度算法示例磁盘读写请求队磁盘读写请
55、求队列:列:55、58、39、18、90、160、150、38、184第第4 4章章 设设 备备 管管 理理 4. 4. 循环扫描(循环扫描(CSCANCSCAN)算法)算法 循环扫描算法不管等待访问请求者的循环扫描算法不管等待访问请求者的先后顺序,磁头总是从先后顺序,磁头总是从0 0柱面开始向里扫描,柱面开始向里扫描,按照各访问者所要访问的柱面位置的次序按照各访问者所要访问的柱面位置的次序去选择访问者。当移臂移到最后一个柱面去选择访问者。当移臂移到最后一个柱面后,直接返回到后,直接返回到0 0柱面,返回时不为任何的柱面,返回时不为任何的访问者提供服务,返回后再次按照请求的访问者提供服务,返回
56、后再次按照请求的柱面位置依次扫描。柱面位置依次扫描。第第4 4章章 设设 备备 管管 理理 CSCAN调度算法示例磁盘读写请求队列:磁盘读写请求队列:55、58、39、18、90、160、150、38、184第第4 4章章 设设 备备 管管 理理 5. 分步扫描(分步扫描(N-Step-SCAN)算法)算法 为了避免磁臂粘着现象的发生而产生。为了避免磁臂粘着现象的发生而产生。 分步扫描算法把磁盘请求队列分成若干个组,每组分步扫描算法把磁盘请求队列分成若干个组,每组不超过不超过N个请求,每次选择一个组进行扫描,每处理一个请求,每次选择一个组进行扫描,每处理一个队列时又是按个队列时又是按SCAN算
57、法,处理完成后,再选择处理算法,处理完成后,再选择处理其他分组。其他分组。 当当N值取得很大时,会使分步扫描算法的性能接近值取得很大时,会使分步扫描算法的性能接近于扫描算法的性能;当于扫描算法的性能;当N值很小时,分步扫描算法的性值很小时,分步扫描算法的性能接近于先来先服务算法的性能。能接近于先来先服务算法的性能。第第4 4章章 设设 备备 管管 理理 4.5 4.5 虚拟设备和缓冲技术虚拟设备和缓冲技术4.5.1 4.5.1 虚拟设备技术虚拟设备技术I/OI/O设备与主机交换信息的两种基本形式:设备与主机交换信息的两种基本形式:(1 1)联机:)联机:I/OI/O设备直接和内存交换信息。设备
58、直接和内存交换信息。(2 2)脱机:通过外围机先把低速输入设备上的信息读)脱机:通过外围机先把低速输入设备上的信息读入高速设备中,然后将高速设备直接和内存相连。入高速设备中,然后将高速设备直接和内存相连。 所谓虚拟设备是指代替独享设备的那部分存储空所谓虚拟设备是指代替独享设备的那部分存储空间及有关的控制结构。对虚拟设备采用的是虚拟分配,间及有关的控制结构。对虚拟设备采用的是虚拟分配,其过程是:当进程中请求独享设备时,系统将共享设其过程是:当进程中请求独享设备时,系统将共享设备的一部分存储空间分配给它。进程与设备交换信息备的一部分存储空间分配给它。进程与设备交换信息时,系统把要交换的信息存放在这
59、部分存储空间,在时,系统把要交换的信息存放在这部分存储空间,在适当的时候对信息作相应的处理。适当的时候对信息作相应的处理。 第第4 4章章 设设 备备 管管 理理 1.SPOOLing1.SPOOLing的概念的概念 是对脱机是对脱机I/OI/O的模拟。通过高速的共享设备的模拟。通过高速的共享设备支持来模拟独享设备所采用的操作是假脱机操作,支持来模拟独享设备所采用的操作是假脱机操作,即在联机情况下实现的同时外围操作,又称之为即在联机情况下实现的同时外围操作,又称之为假脱机技术。假脱机技术。 实现方式:实现方式:(1 1)用磁盘作为高速的共享设备。)用磁盘作为高速的共享设备。(2 2)用)用2
60、2道程序来代替外围机工作(道程序来代替外围机工作(1 1个用于低个用于低速速I/OI/O将数据输入到磁盘上,将数据输入到磁盘上,1 1个用于磁盘将数据个用于磁盘将数据输出到低速输出到低速I/OI/O上)。上)。第第4 4章章 设设 备备 管管 理理 2 .SPOOLing2 .SPOOLing系统的组成系统的组成 SPOOLingSPOOLing系统主要由以下三部分组成:系统主要由以下三部分组成:1 1输入井和输出井:在磁盘上,分别用来模输入井和输出井:在磁盘上,分别用来模拟脱机拟脱机I/OI/O时的磁盘设备。时的磁盘设备。2 2输入缓冲区和输出缓冲区:在内存中。输入缓冲区和输出缓冲区:在内存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 送配电线路工(配电)-中级工模拟练习题(含答案)
- 2025年度建筑工程合同模板房地产合同范例
- 经济学基础试题集
- 编程算法笔试题目及答案
- 浙江国企招聘2025丽水缙云县保安服务有限公司招聘10人笔试参考题库附带答案详解
- 2025重庆机电控股集团机电工程技术有限公司招聘市场营销安全员等岗位共11人笔试参考题库附带答案详解
- 2025济南财金投资控股集团有限公司权属企业招聘(9人)笔试参考题库附带答案详解
- 2025江西吉安市青原区两山人力资源服务有限公司招聘5人笔试参考题库附带答案详解
- 2025年河南省储备粮管理集团招聘12人笔试参考题库附带答案详解
- 2025山西省属某大型国有企业招聘劳务派遣制30人笔试参考题库附带答案详解
- 《工程勘察设计收费标准》(2002年修订本)
- 【MOOC】用Python玩转数据-南京大学 中国大学慕课MOOC答案
- 超深水油田开发及水下生产系统概述-37页的简介
- 标准作业指导书(SOP)培训PPT课件
- 太湖县赵氏宗谱编纂理事会章程
- 加班调休管理制度
- 广告公司——设计部设计师工作流程
- 地铁车站主体防水工程施工组织设计方案
- MultiskanAscent酶标仪英文软件操作手册
- 人防门吊装施工方案
- (三合一)产品使用说明书
评论
0/150
提交评论