5设备管理.pptx

上传人:lil****205 文档编号:91012458 上传时间:2023-05-21 格式:PPTX 页数:112 大小:623.37KB
返回 下载 相关 举报
5设备管理.pptx_第1页
第1页 / 共112页
5设备管理.pptx_第2页
第2页 / 共112页
点击查看更多>>
资源描述

《5设备管理.pptx》由会员分享,可在线阅读,更多相关《5设备管理.pptx(112页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第五章第五章 设备管理设备管理 5.1 I/O5.1 I/O系统系统 5.2 I/O5.2 I/O控制方式控制方式 5.3 5.3 缓冲管理缓冲管理 5.4 5.4 设备分配设备分配 5.5 5.5 设备处理设备处理 5.6 5.6 磁盘存储器管理磁盘存储器管理 教学目的:教学目的:了解设备管理的主要功能、模型了解设备管理的主要功能、模型了解了解I/O子系统的组成、结构子系统的组成、结构了解设备的控制、了解设备的控制、I/O控制控制了解设备的类型了解设备的类型了解设备分配了解设备分配掌握掌握I/O缓冲技术缓冲技术掌握虚拟设备与掌握虚拟设备与SPOOLing系统系统掌握磁盘设备的管理掌握磁盘设备

2、的管理重点难点:重点难点:掌握虚拟设备与掌握虚拟设备与SPOOLing系统所采用的技术系统所采用的技术掌握磁盘设备的管理方式掌握磁盘设备的管理方式课前引入:设备管理概述课前引入:设备管理概述设备管理的主要功能:设备管理的主要功能:设备分配设备分配设备映射设备映射设备驱动设备驱动I/O缓冲区的管理缓冲区的管理设备分配设备分配 u多道程序系统中的设备不允许用户直接使多道程序系统中的设备不允许用户直接使用,而是由操作系统统一调度和控制。用,而是由操作系统统一调度和控制。u设备分配功能是设备管理的基本任务。设备分配功能是设备管理的基本任务。u设备分配程序按照一定的策略,为申请设设备分配程序按照一定的策

3、略,为申请设备的用户进程分配设备,记录设备的使用备的用户进程分配设备,记录设备的使用情况。情况。设备映射设备映射u为了提高应用软件对运行平台的适应能力,方便为了提高应用软件对运行平台的适应能力,方便实现应用软件实现应用软件I/O重定向,大多数现代操作系统均重定向,大多数现代操作系统均支持应用软件对设备的无关性,即通常所说的设支持应用软件对设备的无关性,即通常所说的设备无关性,或者设备独立性备无关性,或者设备独立性u设备无关性:应用软件所引用的、用于实现设备无关性:应用软件所引用的、用于实现I/O操操作的设备与物理作的设备与物理I/O系统中实际安装的设备没有固系统中实际安装的设备没有固定的联系定

4、的联系设备映射设备映射u逻辑设备和物理设备逻辑设备和物理设备逻辑设备是指应用软件所引用的用于实现逻辑设备是指应用软件所引用的用于实现I/O操作操作的设备。的设备。物理设备则指,物理物理设备则指,物理I/O系统中实际安装的设备。系统中实际安装的设备。u从应用软件的角度看,逻辑设备是一类物理设备的从应用软件的角度看,逻辑设备是一类物理设备的抽象。从操作系统设备管理程序的角度看,物理设抽象。从操作系统设备管理程序的角度看,物理设备则是某种逻辑设备的实例。备则是某种逻辑设备的实例。设备映射设备映射u如果某系统支持设备无关性,那么该系统中应用如果某系统支持设备无关性,那么该系统中应用软件所引用的逻辑设备

5、与实际安装的物理设备没软件所引用的逻辑设备与实际安装的物理设备没有固定的联系。有固定的联系。u事实上,在应用软件运行期间,操作系统的设备事实上,在应用软件运行期间,操作系统的设备管理程序必须将该应用软件对逻辑设备的引用转管理程序必须将该应用软件对逻辑设备的引用转换成对相关物理设备的引用。换成对相关物理设备的引用。u设备管理的这种功能称为逻辑设备到物理设备的设备管理的这种功能称为逻辑设备到物理设备的映射功能,简称设备映射功能映射功能,简称设备映射功能。设备驱动设备驱动u又称设备处理,指对物理设备进行控制,以实现又称设备处理,指对物理设备进行控制,以实现真正的真正的I/O操作。操作。u设备驱动的主

6、要任务是:接收上层软件发来的抽设备驱动的主要任务是:接收上层软件发来的抽象效劳请求,例如读象效劳请求,例如读/写命令,再把它转换为具体写命令,再把它转换为具体要求,通过一系列的要求,通过一系列的I/O指令,控制设备完成请求指令,控制设备完成请求的操作;同时,设备驱动程序还将设备发来的有的操作;同时,设备驱动程序还将设备发来的有关信号传送给上层软件,例如设备是否已损坏等。关信号传送给上层软件,例如设备是否已损坏等。设备驱动设备驱动u设备驱动程序与硬件密切相关,应为每一类设备设备驱动程序与硬件密切相关,应为每一类设备配置一种驱动程序。配置一种驱动程序。u设备驱动程序一般由设备开发厂商根据操作系统设

7、备驱动程序一般由设备开发厂商根据操作系统的要求组织编写,操作系统仅对与设备驱动的接的要求组织编写,操作系统仅对与设备驱动的接口提出要求,一般不负责具体设备驱动程序的编口提出要求,一般不负责具体设备驱动程序的编写。写。u有时候,某些硬件无法在某种操作系统中使用,有时候,某些硬件无法在某种操作系统中使用,原因很可能就是没有专门的或通用的设备驱动程原因很可能就是没有专门的或通用的设备驱动程序,或者设备驱动程序设计有问题,使得设备无序,或者设备驱动程序设计有问题,使得设备无法正常工作。法正常工作。I/O缓冲区的管理缓冲区的管理u为了缓和处理面与外部设备间速度不匹配的矛盾,为了缓和处理面与外部设备间速度

8、不匹配的矛盾,提高处理机和外部设备间的并行性,现代操作系提高处理机和外部设备间的并行性,现代操作系统大都在设备管理局部引入了缓冲技术。统大都在设备管理局部引入了缓冲技术。u通常,缓冲区是指内存中的假设干区域,用于缓通常,缓冲区是指内存中的假设干区域,用于缓存进程与外部设备间的数据传输。又称为存进程与外部设备间的数据传输。又称为I/O缓冲缓冲区。区。uI/O缓冲区管理的任务是:组织缓冲区管理的任务是:组织I/O缓冲区,并为缓冲区,并为使用者提供获得和释放使用者提供获得和释放I/O缓冲区的手段。缓冲区的手段。处理机理机内内存存I/OI/O设备I/OI/O设备I/OI/O设备I/OI/O设备I/OI

9、/O设备系系统总线5.1 I/O 5.1 I/O 系统系统 不同类型不同类型I/OI/O子系统的结构图子系统的结构图 总线型总线型I/O系统的结构系统的结构通道型通道型I/O系统结构系统结构处理机理机内内存存I/OI/O设备系系统总线I/OI/O通道通道I/OI/O通道通道I/OI/O通道通道I/OI/O设备I/OI/O设备 I/OI/O设备 I/OI/O设备I/OI/O设备不同类型不同类型I/OI/O子系统的结构图子系统的结构图 不同类型不同类型I/OI/O子系统的结构图子系统的结构图 具有控制器的具有控制器的I/OI/O系系统5.1.1 I/O5.1.1 I/O设备设备 1、I/O设备的类

10、型设备的类型1)1)按传输速率分类分三类按传输速率分类分三类n 低低速速设设备备:指指传传输输速速率率仅仅为为每每秒秒钟钟几几个个字字节节至至数数百百个个字字节节的的一一类类设设备备。如如:键键盘盘、鼠鼠标标器器、语语音音的的输输入入和输出等设备。和输出等设备。n 中中速速设设备备:指指传传输输速速率率在在每每秒秒钟钟数数千千个个字字节节至至数数万万个字节的一类设备。如:行式打印机、激光打印机等。个字节的一类设备。如:行式打印机、激光打印机等。n 高高速速设设备备:指指其其传传输输速速率率在在数数百百K K个个字字节节至至数数十十兆兆字字节节的的一一类类设设备备。如如:磁磁带带机机、磁磁盘盘机

11、机、光光盘盘机机等。等。2)按信息交换的单位分类分两类按信息交换的单位分类分两类块块设设备备(BlockDevice):用用于于存存储储信信息息。I/O传传输输的的单单位位是是块块。它它属属于于有有结结构构设设备备。典典型型的的块块设设备备是是磁盘。磁盘。基基本本特特征征:传传输输速速率率较较高高;可可随随机机访访问问任任一一块块;DMA方式驱动。方式驱动。字字符符设设备备(CharacterDevice):用用于于数数据据的的输输入入和和输出。输出。I/O传输的单位是字节。如打印机。传输的单位是字节。如打印机。基基本本特特征征:传传输输速速率率较较低低;不不可可寻寻址址;中中断断驱驱动。动。

12、3)按设备的共享属性分类分三类按设备的共享属性分类分三类 独独占占设设备备:在在任任一一段段时时间间内内最最多多有有一一个个进进程程占占用用它它,字字符符设设备备及及磁磁带带机机属属独独占占型型设设备备。即即临临界界资源。资源。共共享享设设备备:多多个个进进程程对对它它的的访访问问可可以以交交叉叉进进行行,除磁带机外的块设备属共享设备。除磁带机外的块设备属共享设备。虚虚拟拟设设备备:在在一一类类设设备备上上模模拟拟另另一一类类设设备备,常常用用共共享享设设备备模模拟拟独独占占设设备备,用用高高速速设设备备模模拟拟低低速速设备,被模拟的设备称为虚拟设备。设备,被模拟的设备称为虚拟设备。2.设备与

13、控制器之间的接口设备与控制器之间的接口设备与控制器间的接口设备与控制器间的接口缓冲缓冲转换器转换器控制逻辑控制逻辑信号信号数据数据数据信号线数据信号线状态信号线状态信号线控制信号线控制信号线至设备至设备控制器控制器I/O设备设备设备通过设备控制器间接与设备通过设备控制器间接与CPU进行通信,在设进行通信,在设备与设备控制器之间有一接口,备与设备控制器之间有一接口,传递三类信号:对应传递三类信号:对应三条信号线三条信号线。缓冲缓冲转换器转换器控制逻辑控制逻辑信号信号数据数据数据信号线数据信号线状态信号线状态信号线控制信号线控制信号线至设备至设备控制器控制器I/O设备设备缓冲缓冲转换器转换器控制逻

14、辑控制逻辑信号信号数据数据数据信号线数据信号线状态信号线状态信号线控制信号线控制信号线至设备至设备控制器控制器I/O设备设备缓冲缓冲转换器转换器控制逻辑控制逻辑信号信号数据数据数据信号线数据信号线状态信号线状态信号线控制信号线控制信号线至设备至设备控制器控制器I/O设备设备不同类型不同类型I/OI/O子系统的结构图子系统的结构图 具有控制器的具有控制器的I/OI/O系系统5.1.2 5.1.2 设备控制器设备控制器 设备控制器是设备控制器是CPUCPU和设备之间的一个接口和设备之间的一个接口,它它接收从接收从CPUCPU发来的命令发来的命令,控制控制I/OI/O设备操作设备操作,实现主实现主存

15、和设备之间的数据传输。存和设备之间的数据传输。I/OI/O设备通常包含一个机械部件和一个电子部设备通常包含一个机械部件和一个电子部件。电子部件被称作件。电子部件被称作I/OI/O部件或设备控制器。部件或设备控制器。早期早期CPUCPU是直接控制外部设备的,在引入是直接控制外部设备的,在引入I/OI/O部件之后,部件之后,I/OI/O指令功能加强,才将指令功能加强,才将CPUCPU逐渐从与逐渐从与外设的交互细节中解放出来。外设的交互细节中解放出来。操作系统一般只与控制器打交道,而非设备本身。操作系统一般只与控制器打交道,而非设备本身。PCIPCI总线控制器总线控制器处理机处理机内存内存显卡显卡外

16、外设设光光盘盘磁磁盘盘IDEIDE总线控制器总线控制器外设控制器外设控制器控控制制器器控控制制器器连接连接CPUCPU、内存、设备控制器和、内存、设备控制器和I/OI/O设备模型设备模型 控制器的任务是在外部设备与控制器的任务是在外部设备与CPUCPU或内存之间或内存之间完成比特流外部信号和字节流块之间的转换完成比特流外部信号和字节流块之间的转换。磁盘磁盘 控制器控制器主存主存比特流比特流字节块字节块转换、校验转换、校验字符显示字符显示控制器控制器主存经主存经CPUCPU显示信号显示信号字节流字节流转换转换1.设备控制器的基本功能设备控制器的基本功能1)接收和识别命令来自接收和识别命令来自CP

17、U的命令的命令2)进行数据交换进行数据交换3)收集设备状态并向收集设备状态并向CPU报告报告4)地址识别地址识别5)数据缓冲数据缓冲6)过失过失2.设备控制器的组成设备控制器的组成1)控制器与处理机的接口控制器与处理机的接口2)控制器与设备的接口控制器与设备的接口3)I/O逻辑逻辑由三局部组成:由三局部组成:设备控制器的组成设备控制器的组成数据寄存器数据寄存器控制控制/状态状态寄存器寄存器数据线数据线I/OI/O 逻辑逻辑控制器控制器与设备与设备接口接口1 1控制器控制器与设备与设备接口接口i i数据数据状态状态控制控制数据数据状态状态控制控制地址线地址线控制线控制线CPUCPU与控制器接口与

18、控制器接口控制器与设备接口控制器与设备接口C CP PU U设设备备5.1.3 I/O5.1.3 I/O通道通道 1.I/O通道通道(I/OChannel)设备的引入设备的引入定义:定义:通道是独立于通道是独立于CPU的专门负责数据的专门负责数据I/O传输传输工作的特殊的处理机,对外部设备实现统一管理,工作的特殊的处理机,对外部设备实现统一管理,代替代替CPU对对I/O操作进行控制,从而使操作进行控制,从而使I、O操作可与操作可与CPU并行操作。并行操作。引入通道的目的:引入通道的目的:为了使为了使CPU从从I/O事务中解脱出事务中解脱出来,同时为了提高来,同时为了提高CPU与设备、设备与设备

19、之间的与设备、设备与设备之间的并行工作能力。并行工作能力。通过执行通道程序来控制通过执行通道程序来控制I/O操作。操作。指令类型单一,只能执行与指令类型单一,只能执行与I/O操作有关的命令。操作有关的命令。通道没有自己的内存,与通道没有自己的内存,与CPU共享内存。共享内存。不同类型不同类型I/OI/O子系统的结构图子系统的结构图 具有控制器的具有控制器的I/OI/O系系统2.通道类型通道类型1)字节多路通道字节多路通道(ByteMultiplexorChannel)字节多路通道以字节为单位传输信息,它可以分时字节多路通道以字节为单位传输信息,它可以分时地共享主通道。地共享主通道。以字节为单位

20、交叉传输,当一台传送一个字节后,以字节为单位交叉传输,当一台传送一个字节后,立即转去为另一台传送字节。立即转去为另一台传送字节。主要连接以字节为单位的低速主要连接以字节为单位的低速I/OI/O设备。如打印机、设备。如打印机、终端。终端。字节多路通道的工作原理字节多路通道的工作原理控制器控制器A A控制器控制器B B控制器控制器C C控制器控制器D D控制器控制器N NA A1 1A A2 2A A3 3子通道子通道A AB B1 1B B2 2B B3 3子通道子通道B BC C1 1C C2 2C C3 3子通道子通道C CN N1 1N N2 2N N3 3子通道子通道N NA A1 1B

21、 B1 1C C1 1A A2 2B B2 2C C2 2设备设备2)数组选择通道数组选择通道(BlockSelectorChannel)字节多路通道不适于连接高速设备,这推动了按数字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道的形成。组方式进行数据传送的数组选择通道的形成。选择通道是以成组方式工作的,即每次传送一批数选择通道是以成组方式工作的,即每次传送一批数据,故传送速度很高。据,故传送速度很高。这种通道虽然可以连接多台高速设备,但由于它只这种通道虽然可以连接多台高速设备,但由于它只含有一个分配型子通道,在一段时间内只能执行一道含有一个分配型子通道,在一段时间

22、内只能执行一道通道程序,控制一台设备进行数据传送,致使当某台通道程序,控制一台设备进行数据传送,致使当某台设备占用了该通道后,便一直由它独占,即使是它无设备占用了该通道后,便一直由它独占,即使是它无数据传送,通道被闲置,也不允许其它设备使用该通数据传送,通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放该通道。可见,这种通道,直至该设备传送完毕释放该通道。可见,这种通道的利用率很低。道的利用率很低。3)3)数组多路通道数组多路通道(Block Multiplexor Channel)(Block Multiplexor Channel)数组选择通道虽有很高的传输速率,但它却每次数组

23、选择通道虽有很高的传输速率,但它却每次只允许一个设备传输数据。只允许一个设备传输数据。数组多路通道是将数组选择通道传输速率高和字数组多路通道是将数组选择通道传输速率高和字节多路通道能使各子通道节多路通道能使各子通道(设备设备)分时并行操作的优分时并行操作的优点相结合而形成的一种新通道。点相结合而形成的一种新通道。它含有多个非分配型子通道,因而这种通道既具它含有多个非分配型子通道,因而这种通道既具有很高的数据传输速率,又能获得令人满意的通道有很高的数据传输速率,又能获得令人满意的通道利用率。利用率。广泛地用于连接多台高、中速的外围设备,其数广泛地用于连接多台高、中速的外围设备,其数据传送是按数组

24、方式进行的。据传送是按数组方式进行的。3.“瓶颈问题瓶颈问题单通路单通路I/O系统系统设备设备1设备设备2设备设备3设备设备4设备设备5设备设备6设备设备7控制器控制器1控制器控制器2控制器控制器3控制器控制器4通道通道1通道通道2存储器存储器通道数量少,造成整个系统吞吐量下降。例如:通道数量少,造成整个系统吞吐量下降。例如:多通路多通路I/O系统系统I/O设备设备控制器控制器1控制器控制器2通道通道1通道通道2存储器存储器I/O设备设备I/O设备设备I/O设备设备解决问题的方法:解决问题的方法:增加设备到主机的通路而不增加通增加设备到主机的通路而不增加通道。即把一个设备连接到多个控制器上,一

25、个控制器道。即把一个设备连接到多个控制器上,一个控制器连接到多个通道上。连接到多个通道上。5.1.4 5.1.4 总线系统总线系统 总线型总线型I/O系统结构系统结构CPUCPU存储器存储器磁盘磁盘控制器控制器打印机打印机控制器控制器其它其它控制器控制器磁盘驱动器磁盘驱动器打印机打印机系统总线系统总线计算机系统中各部件之间的联系都是通过总线来计算机系统中各部件之间的联系都是通过总线来实现的。实现的。1.ISA和和EISA总线总线1)ISA(IndustryStandardArchitecture)总线总线1984年年推推出出,80286型型微微机机使使用用的的总总线线结结构构。总总线线的的带带

26、宽宽为为8位位,最最高高传传输输速速率率为为2Mb/s。之之后后不不久久又又推推出出了了16位位的的(EISA)总总线线,其其最最高高传传输输速速率率为为8Mb/s,后又升至,后又升至16Mb/s,能连接,能连接12台设备。台设备。2)EISA(ExtendedISA)总线总线80年年代代末末期期,开开发发出出扩扩展展ISA(EISA)总总线线,带带宽宽为为32位位,总总线线的的传传输输速速率率高高达达32Mb/s,同同样样可可以以连连接接12台外部设备。台外部设备。2.局部总线局部总线(LocalBus)1)VESA(VideoElectronicStandardAssociation)总线

27、总线带宽为带宽为32位,最高传输速率为位,最高传输速率为132Mb/s。90年代推年代推出。只能连接出。只能连接2-4台设备,且控制器中无缓冲。不台设备,且控制器中无缓冲。不支持支持Pentium微机。微机。2)PCI(PeripheralComponentInterface)总线总线在在CPU和外设间插入一复杂的管理层,用于协调数和外设间插入一复杂的管理层,用于协调数据传输和提供一致的接口。在管理层中配有数据缓据传输和提供一致的接口。在管理层中配有数据缓冲,最多支持冲,最多支持10种外设,并使高时钟频率的种外设,并使高时钟频率的CPU能能很好运行。可连接很好运行。可连接ISA和和EISA等传

28、统总线,数据总等传统总线,数据总线线32位,且可扩展为位,且可扩展为64位。位。5.2 I/O5.2 I/O控制方式控制方式 程序程序I/OI/O方式方式 中断驱动中断驱动I/OI/O控制方式控制方式 DMA I/ODMA I/O控制方式控制方式 I/OI/O通道控制方式通道控制方式5.2.1 5.2.1 程序程序I/OI/O方式方式 在这种方式下,在这种方式下,CPUCPU中无中断机构。输入输出指令中无中断机构。输入输出指令或询问指令测试一台设备的忙闲标志位,决定主存或询问指令测试一台设备的忙闲标志位,决定主存储器和外围设备是否交换一个字符或一个字。储器和外围设备是否交换一个字符或一个字。一

29、旦一旦CPUCPU启动启动I/OI/O设备,便不断查询设备,便不断查询I/OI/O设备的准备设备的准备情况,终止原程序的执行,浪费情况,终止原程序的执行,浪费CPUCPU时间。时间。I/OI/O准备就绪后,准备就绪后,CPUCPU参与数据传送工作,而不能参与数据传送工作,而不能执行原程序。执行原程序。CPUCPU和和I/OI/O设备串行工作,使主机不能充分发挥效设备串行工作,使主机不能充分发挥效率,外围设备也不能得到合理使用,整个系统效率率,外围设备也不能得到合理使用,整个系统效率很低。很低。向向I/O控制器控制器发读命令发读命令读读I/O控制器控制器的状态的状态检查检查状态?状态?从从I/O

30、控制器控制器中读入字中读入字向存储器向存储器中写字中写字传送传送完成?完成?未未就就绪绪就绪就绪出错出错CPUI/OI/OCPUI/OCPUCPU内存内存下条指令下条指令完成完成未完未完向向I/O控制器控制器发读命令发读命令读读I/O控制器控制器的状态的状态检查检查状态?状态?从从I/O控制控制器中读字器中读字向内存向内存中写字中写字传送传送完成?完成?就绪就绪出错出错CPUI/OI/OCPUI/OCPUCPU内存内存下条指令下条指令完成完成未完未完中断中断CPU做其它事做其它事向向I/O控制器控制器发布读块命令发布读块命令CPUDMACPU做其它事做其它事读读DMA控制控制器的状态器的状态中

31、断中断DMACPU下条指令下条指令(a)程序程序I/O方式方式(b)中断驱动方式中断驱动方式(c)DMA方式方式程序程序I/O和中断驱动方式的流程和中断驱动方式的流程5.2.2 5.2.2 中断驱动中断驱动I/OI/O控制方式控制方式 CPUCPU启动启动I/OI/O设备后,不必查询设备后,不必查询I/OI/O设备是否就绪,设备是否就绪,继续执行现行程序。继续执行现行程序。设备控制器按照命令要求去控制指定的设备控制器按照命令要求去控制指定的I/OI/O设备,设备,当数据准备好后,即进入数据存放器后,控制器通当数据准备好后,即进入数据存放器后,控制器通过控制线向过控制线向CPUCPU发送中断信号

32、。发送中断信号。I/OI/O操作直接由操作直接由CPUCPU控制,每传送一个字符或字,控制,每传送一个字符或字,要发生一次中断,仍然消耗大量要发生一次中断,仍然消耗大量CPUCPU时间。时间。不必忙式查询不必忙式查询I/OI/O准备情况,准备情况,CPUCPU和和I/OI/O设备可实现设备可实现局部并行,与程序查询的串行工作方式相比,使局部并行,与程序查询的串行工作方式相比,使CPUCPU资源得到较充分利用。资源得到较充分利用。5.2.3 5.2.3 直接存储器访问直接存储器访问DMA I/ODMA I/O控制方式控制方式 如果如果I/OI/O设备能直接与主存交换数据而不占用设备能直接与主存交

33、换数据而不占用CPUCPU,CPUCPU的利用率还可提高,这就出现了直接存储的利用率还可提高,这就出现了直接存储器存取器存取DMADMA方式。方式。1.1.特点:特点:数据传输的基本单位是数据块,即在数据传输的基本单位是数据块,即在CPUCPU与与I/OI/O设设备之间,每次传送至少一个数据块;备之间,每次传送至少一个数据块;所传送的数据是从设备直接送入内存的,或者相所传送的数据是从设备直接送入内存的,或者相反;反;仅在传送一个或多个数据块的开始和结束时,才仅在传送一个或多个数据块的开始和结束时,才需需CPUCPU干预,整块数据的传送是在控制器的控制下完干预,整块数据的传送是在控制器的控制下完

34、成的。成的。2.DMA控制器的组成控制器的组成DMA控制器的组成控制器的组成DRDRMARMARDCDCCRCRI/OI/O控控制制逻逻辑辑主机主机控制器接口控制器接口控制器与块设备接口控制器与块设备接口countcount内存内存CPUCPU命令命令系统总线系统总线DMADMA控制器控制器在在DMA控制器中设置四类存放器:控制器中设置四类存放器:(1)命命令令/状状态态存存放放器器CR:用用于于接接收收从从CPU发发来来的的I/O命令或有关控制信息,命令或有关控制信息,或设备的状态。或设备的状态。(2)内内存存地地址址存存放放器器MAR:在在输输入入时时,它它存存放放把把数数据据从从设设备备

35、传传送送到到内内存存的的起起始始目目标标地地址址;在在输输出出时时,它存放由内存到设备的内存源地址。它存放由内存到设备的内存源地址。(3)数数据据存存放放器器DR:用用于于暂暂存存从从设设备备到到内内存存,或或从从内存到设备的数据。内存到设备的数据。(4)数据计数器数据计数器DC:存放本次存放本次CPU要读或写的字要读或写的字(节节)数。数。3.DMA工作过程工作过程DMA方式的工作流程方式的工作流程设置设置MARMAR和和DCDC初值初值启动启动DMADMA传送命令传送命令挪用存储器周期传送挪用存储器周期传送数据字数据字存储器地址增存储器地址增1 1字计数寄存器减字计数寄存器减1 1DCDC

36、0?0?请求中断请求中断在继续执行用户在继续执行用户程序的同时程序的同时,准准备又一次传送备又一次传送否否是是例:例:CPUCPU从磁盘从磁盘 读取数据读取数据CPUCPU转去执行其他任务转去执行其他任务5.2.4 I/O5.2.4 I/O通道控制方式通道控制方式 1.I/O通道控制方式的引入通道控制方式的引入 I/OI/O通道方式是通道方式是DMADMA方式的开展,它可进一步减少方式的开展,它可进一步减少CPUCPU的干预,即把对一个数据块的读的干预,即把对一个数据块的读(或写或写)为单位的为单位的干预,减少为对一组数据块的读干预,减少为对一组数据块的读(或写或写)及有关的控及有关的控制和管

37、理为单位的干预。制和管理为单位的干预。可实现可实现CPUCPU、通道和、通道和I/OI/O设备三者的并行操作,从设备三者的并行操作,从而更有效地提高整个系统的资源利用率。而更有效地提高整个系统的资源利用率。2.通道程序通道程序(1)(1)操作码操作码读、写、控制等操作读、写、控制等操作 (2)(2)内存地址内存地址操作的内存首址操作的内存首址 (3)(3)计数计数操作的字节数操作的字节数(4)(4)通道程序结束位通道程序结束位P PP=1,P=1,通道结束通道结束(5)(5)记录结束标志记录结束标志R RR=1,R=1,记录结束记录结束 通道是通过执行通道程序,并于设备控制器共通道是通过执行通

38、道程序,并于设备控制器共同实现对同实现对I/OI/O设备的控制。通道程序由一系列的通道设备的控制。通道程序由一系列的通道指令所构成。每条通道指令应包含以下的内容:指令所构成。每条通道指令应包含以下的内容:操作操作PR计数计数内存地址内存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE11250720例:下面给出一个由六条通道指令所构成的简单的通例:下面给出一个由六条通道指令所构成的简单的通道程序。该程序是将内存中不同地址的数据写成多个道程序。该程序是将内存中不同地址的数据写成多个记录。记录。5.

39、3 5.3 缓缓 冲冲 管管 理理 5.3.1 5.3.1 缓冲的引入缓冲的引入 (1)(1)缓和缓和CPUCPU与与I/OI/O设备间速度不匹配的矛盾。但设备间速度不匹配的矛盾。但凡数据到达和离去速度不匹配的地方均可采用缓凡数据到达和离去速度不匹配的地方均可采用缓冲技术。冲技术。(2)(2)减少对减少对CPUCPU的中断频率,放宽对的中断频率,放宽对CPUCPU中断响应中断响应时间的限制。时间的限制。(3)(3)提高提高CPUCPU和和I/OI/O设备之间的并行性。设备之间的并行性。5.3.2 5.3.2 单缓冲和双缓冲单缓冲和双缓冲 1.单缓冲单缓冲(SingleBuffer)单缓冲是操作

40、系统提供的最简单的一种缓冲形式。单缓冲是操作系统提供的最简单的一种缓冲形式。每当一个进程发出一个每当一个进程发出一个I/OI/O请求时,操作系统便在主请求时,操作系统便在主存中为之分配一缓冲区,该缓冲区用来临时存放输入存中为之分配一缓冲区,该缓冲区用来临时存放输入/输出数据。输出数据。外部外部设备缓冲冲区区OSOS用用户进程程对于块设备:对于块设备:OSOS为进程分配一缓冲区,块设备输入为进程分配一缓冲区,块设备输入时从磁盘把一块数据输入缓冲区的时间为时从磁盘把一块数据输入缓冲区的时间为T T,OSOS将缓将缓冲区的数据传送给用户区的时间为冲区的数据传送给用户区的时间为M M,计算时间为,计算

41、时间为C C,则,则T T和和C C时可以并行的。数据处理时间约为时可以并行的。数据处理时间约为maxC,T+MmaxC,T+M。对于字符设备:对于字符设备:输入时,缓冲区用于暂存用户输入输入时,缓冲区用于暂存用户输入的一行数据,在输入期间,进程挂起等待输入完毕;的一行数据,在输入期间,进程挂起等待输入完毕;输出时进程将一行数据输入到缓冲区,继续执行处输出时进程将一行数据输入到缓冲区,继续执行处理。如果前面的数据尚未提取完毕,则进程应阻塞。理。如果前面的数据尚未提取完毕,则进程应阻塞。工作区工作区处理处理(C)缓冲区缓冲区传送传送(M)输入输入(T)I/O设备设备(a)T1M1C1T2M2C2

42、T3M3C3T4t(b)用户进程用户进程单缓冲工作示意图单缓冲工作示意图 在两种情况下,单缓冲区的使用不会改善用户进程在两种情况下,单缓冲区的使用不会改善用户进程的性能:的性能:如果用户进程在对有关数据进行加工处理时不如果用户进程在对有关数据进行加工处理时不释放释放I/OI/O缓冲区,那么用户进程的性能不会得到改缓冲区,那么用户进程的性能不会得到改善。善。如果如果T T远大于远大于C C,即外部设备的,即外部设备的I/OI/O速度比用户进速度比用户进程的计算速度慢得多,那么,单程的计算速度慢得多,那么,单I/OI/O缓冲区不会显缓冲区不会显著改善用户进程的性能。著改善用户进程的性能。2.双缓冲

43、双缓冲(DoubleBuffer)增加一个缓冲区,两个缓冲区可以交替使用。增加一个缓冲区,两个缓冲区可以交替使用。当数据从缓冲区复制到用户进程空间时,输入设当数据从缓冲区复制到用户进程空间时,输入设备不必等待,可立即开始向另一个缓冲区输入数据。备不必等待,可立即开始向另一个缓冲区输入数据。因此,增加了一个缓冲区后,前述的数据处理时间因此,增加了一个缓冲区后,前述的数据处理时间可近似为:可近似为:MAX(TMAX(T,C)C)。外部外部设备缓冲冲区区OSOS用用户进程程缓冲冲区区另外,假设用户进程另外,假设用户进程I/OI/O的数据超过一个缓冲区而的数据超过一个缓冲区而不满两个缓冲区,双缓冲使进

44、程不会在不满两个缓冲区,双缓冲使进程不会在I/OI/O数据期间数据期间被阻塞。被阻塞。工作区工作区用户进程用户进程缓冲区缓冲区1 1缓冲区缓冲区2 2I/O I/O 设备设备T T1(缓冲缓冲1)1)1 1C1M2C2M3C3T T2(缓冲缓冲2)2)T T3(缓冲缓冲3)3)M4C44(缓冲缓冲4)(a a)(b b)双缓冲工作示意图双缓冲工作示意图MT T双机通信时缓冲区的设置双机通信时缓冲区的设置缓冲区缓冲区缓冲区缓冲区A机机B机机(a)单缓冲单缓冲发送发送缓冲区缓冲区接收接收缓冲区缓冲区接收接收缓冲区缓冲区发送发送缓冲区缓冲区A机机B机机(b)双缓冲双缓冲在实现两台机器通信时,缓冲区的

45、设置:单缓冲、在实现两台机器通信时,缓冲区的设置:单缓冲、双缓冲。双缓冲。5.3.3 5.3.3 循环缓冲循环缓冲 当用户进程处理数据的速度较快、外部设备处当用户进程处理数据的速度较快、外部设备处 理数据的速度较慢,或者用户进程输入理数据的速度较慢,或者用户进程输入/输出的数输出的数据较多时,必须考虑增加缓冲区的数量以改善系据较多时,必须考虑增加缓冲区的数量以改善系统性能,这就是多缓冲区方式。统性能,这就是多缓冲区方式。多个多个I I0 0缓冲区常常被组织成一个环形队列,缓冲区常常被组织成一个环形队列,故称为循环缓冲。故称为循环缓冲。实质上,双缓冲可以看作是循环缓冲的一个特实质上,双缓冲可以看

46、作是循环缓冲的一个特 例。例。1.循环缓冲的组成循环缓冲的组成多个缓冲区:每个缓冲区大小均相同。分三类:多个缓冲区:每个缓冲区大小均相同。分三类:用于装输入数据的空缓冲区用于装输入数据的空缓冲区R R。已经装满数据的缓冲区已经装满数据的缓冲区G G。计算进程正在使用的工作缓冲区计算进程正在使用的工作缓冲区C C。多个指针:三个指针,分别是:多个指针:三个指针,分别是:用于指示计算进程下一个可用缓冲区用于指示计算进程下一个可用缓冲区G G的指针的指针NextgNextg。输入进程下次可以使用的空缓冲区输入进程下次可以使用的空缓冲区R R的指针的指针NextiNexti。指示计算进程正在使用的缓冲

47、区指示计算进程正在使用的缓冲区C C的指针的指针CurrentCurrent。循环缓冲循环缓冲2.循环缓冲区的使用循环缓冲区的使用(1)Getbuf过程:过程:计算进程要使用缓冲区中的数据时调用;计算进程要使用缓冲区中的数据时调用;输入进程要使用缓冲区来装入数据时调用。输入进程要使用缓冲区来装入数据时调用。(2)Releasebuf过程:过程:计算进程把计算进程把C缓冲区中的数据提取完毕时调用;缓冲区中的数据提取完毕时调用;当输入进程把缓冲区装满时调用。当输入进程把缓冲区装满时调用。3.进程同步进程同步(1)Nexti指针追赶上指针追赶上Nextg指针。指针。(2)Nextg指针追赶上指针追赶

48、上Nexti指针。指针。5.3.4 5.3.4 缓冲池缓冲池(Buffer Pool)(Buffer Pool)上述三种缓冲区的组织形式仅适用于某种特定的上述三种缓冲区的组织形式仅适用于某种特定的I/0I/0进程和计算进程,属于专用缓冲。进程和计算进程,属于专用缓冲。当系统中的设备很多时,将会有许多这样的循环当系统中的设备很多时,将会有许多这样的循环缓冲区,消耗大量的内存空间,而且其利用率也不缓冲区,消耗大量的内存空间,而且其利用率也不高。高。为了提高缓冲区的利用率,可以采用公共缓冲池为了提高缓冲区的利用率,可以采用公共缓冲池技术,其中的缓冲区可为多个设备和进程效劳。技术,其中的缓冲区可为多个

49、设备和进程效劳。缓冲池由内存中一组大小相等的缓冲区组成,缓缓冲池由内存中一组大小相等的缓冲区组成,缓冲池属于系统资源,由系统进行管理。冲池属于系统资源,由系统进行管理。1.缓冲池的组成缓冲池的组成n缓冲池中的缓冲区一般有以下三种类型:缓冲池中的缓冲区一般有以下三种类型:空空(闲闲)缓冲区;缓冲区;装满输入数据的缓冲区;装满输入数据的缓冲区;装满输出数据的缓冲区。装满输出数据的缓冲区。n为了管理为了管理,将相同类型的缓冲区链成队列,形成三将相同类型的缓冲区链成队列,形成三个队列:个队列:空缓冲队列空缓冲队列emqemq;输入队列输入队列inqinq;输出队列输出队列outqoutq。2.Getb

50、uf过程和过程和Putbuf过程过程voidGetbuf(type)Wait(RS(type);Wait(MS(type);B(number):=Takebuf(type);Signal(MS(type);voidPutbuf(type,number)Wait(MS(type);Addbuf(type,number);Signal(MS(type);Signal(RS(type);3.缓冲区的工作方式缓冲区的工作方式缓冲区的工作方式缓冲区的工作方式hinsoutsinhout收容输入收容输入提取输出提取输出用户用户程序程序提取输入提取输入收容输出收容输出缓冲池缓冲池四种工作方式四种工作方式5.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com