《[精选]5设备管理fpd.pptx》由会员分享,可在线阅读,更多相关《[精选]5设备管理fpd.pptx(112页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Network Optimization Expert Team第五章第五章 设备管理设备管理 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 磁盘存储器管理磁盘存储器管理 Network Optimization Expert Team教学目的:教学目的:了解设备管理的主要功能、模型了解设备管理的主要功能、模型了解了解I/O子系统的组成、结构子系统的组成、结构了解设备的控制、了解设备的控制、I/O控制控制了解设备的类型了解设备的类型了解设备
2、分配了解设备分配掌握掌握I/O缓冲技术缓冲技术掌握掌握虚拟设备与虚拟设备与SPOOLing系统系统掌握掌握磁盘设备的管理磁盘设备的管理重点难点:重点难点:掌握虚拟设备与掌握虚拟设备与SPOOLing系统所采用的技术系统所采用的技术掌握磁盘设备的管理方式掌握磁盘设备的管理方式Network Optimization Expert Team课前引入:设备管理概述课前引入:设备管理概述设备管理的主要功能:设备管理的主要功能:设备分配设备分配设备映射设备映射设备驱动设备驱动I/O缓冲区的管理缓冲区的管理Network Optimization Expert Team设备分配设备分配 u多道程序系统中的
3、设备不允许用户直接使多道程序系统中的设备不允许用户直接使用,而是由操作系统统一调度和控制。用,而是由操作系统统一调度和控制。u设备分配功能是设备管理的基本任务。设备分配功能是设备管理的基本任务。u设备分配程序按照一定的策略,为申请设设备分配程序按照一定的策略,为申请设备的用户进程备的用户进程分配设备分配设备,记录设备的使用,记录设备的使用情况。情况。Network Optimization Expert Team设备映射设备映射u为了提高应用软件对运行平台的适应能力,方便为了提高应用软件对运行平台的适应能力,方便实现应用软件实现应用软件I/O重定向,大多数现代操作系统均重定向,大多数现代操作系
4、统均支持应用软件对设备的无关性,即通常所说的设支持应用软件对设备的无关性,即通常所说的设备无关性,或者设备独立性备无关性,或者设备独立性u设备无关性:应用软件所引用的、用于实现设备无关性:应用软件所引用的、用于实现I/O操操作的设备与物理作的设备与物理I/O系统中实际安装的设备没有固系统中实际安装的设备没有固定的联系定的联系Network Optimization Expert Team设备映射设备映射u逻辑设备和物理设备逻辑设备和物理设备逻辑设备是指应用软件所引用的用于实现逻辑设备是指应用软件所引用的用于实现I/O操作操作的设备。的设备。物理设备则指,物理物理设备则指,物理I/O系统中实际安
5、装的设备。系统中实际安装的设备。u从应用软件的角度看,逻辑设备是一类物理设备的从应用软件的角度看,逻辑设备是一类物理设备的抽象。从操作系统设备管理程序的角度看,物理设抽象。从操作系统设备管理程序的角度看,物理设备则是某种逻辑设备的实例。备则是某种逻辑设备的实例。Network Optimization Expert Team设备映射设备映射u如果某系统支持设备无关性,那么该系统中应用如果某系统支持设备无关性,那么该系统中应用软件所引用的逻辑设备与实际安装的物理设备没软件所引用的逻辑设备与实际安装的物理设备没有固定的联系。有固定的联系。u事实上,在应用软件运行期间,操作系统的设备事实上,在应用软
6、件运行期间,操作系统的设备管理程序必须将该应用软件对逻辑设备的引用转管理程序必须将该应用软件对逻辑设备的引用转换成对相关物理设备的引用。换成对相关物理设备的引用。u设备管理的这种功能称为逻辑设备到物理设备的设备管理的这种功能称为逻辑设备到物理设备的映射功能,简称设备映射功能映射功能,简称设备映射功能。Network Optimization Expert Team设备驱动设备驱动u又称设备处理,指对物理设备进行控制,以实现又称设备处理,指对物理设备进行控制,以实现真正的真正的I/O操作。操作。u设备驱动的主要任务是:接收上层软件发来的抽设备驱动的主要任务是:接收上层软件发来的抽象服务请求,例如
7、读象服务请求,例如读/写命令,再把它转换为具体写命令,再把它转换为具体要求,通过一系列的要求,通过一系列的I/O指令,控制设备完成请求指令,控制设备完成请求的操作;同时,设备驱动程序还将设备发来的有的操作;同时,设备驱动程序还将设备发来的有关信号传送给上层软件,例如设备是否已损坏等。关信号传送给上层软件,例如设备是否已损坏等。Network Optimization Expert Team设备驱动设备驱动u设备驱动程序与硬件密切相关,应为每一类设备设备驱动程序与硬件密切相关,应为每一类设备配置一种驱动程序。配置一种驱动程序。u设备驱动程序一般由设备开发厂商根据操作系统设备驱动程序一般由设备开发
8、厂商根据操作系统的要求组织编写,操作系统仅对与设备驱动的接的要求组织编写,操作系统仅对与设备驱动的接口提出要求,一般不负责具体设备驱动程序的编口提出要求,一般不负责具体设备驱动程序的编写。写。u有时候,某些硬件无法在某种操作系统中使用,有时候,某些硬件无法在某种操作系统中使用,原因很可能就是没有专门的或通用的设备驱动程原因很可能就是没有专门的或通用的设备驱动程序,或者设备驱动程序设计有问题,使得设备无序,或者设备驱动程序设计有问题,使得设备无法正常工作。法正常工作。Network Optimization Expert TeamI/O缓冲区的管理缓冲区的管理u为了缓和处理面与外部设备间速度不匹
9、配的矛盾,为了缓和处理面与外部设备间速度不匹配的矛盾,提高处理机和外部设备间的并行性,现代操作系提高处理机和外部设备间的并行性,现代操作系统大都在设备管理部分引入了缓冲技术。统大都在设备管理部分引入了缓冲技术。u通常,缓冲区是指内存中的若干区域,用于缓存通常,缓冲区是指内存中的若干区域,用于缓存进程与外部设备间的数据传输。又称为进程与外部设备间的数据传输。又称为I/O缓冲区。缓冲区。uI/O缓冲区管理的任务是:组织缓冲区管理的任务是:组织I/O缓冲区,并为缓冲区,并为使用者提供获得和释放使用者提供获得和释放I/O缓冲区的手段。缓冲区的手段。Network Optimization Expert
10、 Team处理机理机内内存存I/OI/O设备I/OI/O设备I/OI/O设备I/OI/O设备I/OI/O设备系系统总线5.1 I/O 5.1 I/O 系统系统 不同类型不同类型I/OI/O子系统的结构图子系统的结构图 总线型总线型I/O系统的结构系统的结构Network Optimization Expert Team通道型通道型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子系统的结构图子系统的结构图
11、Network Optimization Expert Team不同类型不同类型I/OI/O子系统的结构图子系统的结构图 具有控制器的具有控制器的I/OI/O系系统Network Optimization Expert Team5.1.1 I/O5.1.1 I/O设备设备 1、I/O设备的类型设备的类型1)1)按传输速率分类(分三类)按传输速率分类(分三类)n 低低速速设设备备:指指传传输输速速率率仅仅为为每每秒秒钟钟几几个个字字节节至至数数百百个个字字节节的的一一类类设设备备。如如:键键盘盘、鼠鼠标标器器、语语音音的的输输入入和输出等设备。和输出等设备。n 中中速速设设备备:指指传传输输速速
12、率率在在每每秒秒钟钟数数千千个个字字节节至至数数万万个字节的一类设备。如:行式打印机、激光打印机等。个字节的一类设备。如:行式打印机、激光打印机等。n 高高速速设设备备:指指其其传传输输速速率率在在数数百百K K个个字字节节至至数数十十兆兆字字节节的的一一类类设设备备。如如:磁磁带带机机、磁磁盘盘机机、光光盘盘机机等。等。Network Optimization Expert Team2)按信息交换的单位分类(分两类)按信息交换的单位分类(分两类)块块设设备备(BlockDevice):用用于于存存储储信信息息。I/O传传输输的的单单位位是是块块。它它属属于于有有结结构构设设备备。典典型型的的
13、块块设设备备是是磁盘。磁盘。基基本本特特征征:传传输输速速率率较较高高;可可随随机机访访问问任任一一块块;DMA方式驱动。方式驱动。字字符符设设备备(CharacterDevice):用用于于数数据据的的输输入入和和输出。输出。I/O传输的单位是字节。如打印机。传输的单位是字节。如打印机。基基本本特特征征:传传输输速速率率较较低低;不不可可寻寻址址;中中断断驱驱动。动。Network Optimization Expert Team3)按设备的共享属性分类(分三类)按设备的共享属性分类(分三类)独独占占设设备备:在在任任一一段段时时间间内内最最多多有有一一个个进进程程占占用用它它,字字符符设设
14、备备及及磁磁带带机机属属独独占占型型设设备备。即即临临界界资源。资源。共共享享设设备备:多多个个进进程程对对它它的的访访问问可可以以交交叉叉进进行行,除磁带机外的块设备属共享设备。除磁带机外的块设备属共享设备。虚虚拟拟设设备备:在在一一类类设设备备上上模模拟拟另另一一类类设设备备,常常用用共共享享设设备备模模拟拟独独占占设设备备,用用高高速速设设备备模模拟拟低低速速设备,被模拟的设备称为虚拟设备。设备,被模拟的设备称为虚拟设备。Network Optimization Expert Team2.设备与控制器之间的接口设备与控制器之间的接口设备与控制器间的接口设备与控制器间的接口缓冲缓冲转换器转
15、换器控制逻辑控制逻辑信号信号数据数据数据信号线数据信号线状态信号线状态信号线控制信号线控制信号线至设备至设备控制器控制器I/O设备设备设备通过设备控制器间接与设备通过设备控制器间接与CPU进行通信,在设进行通信,在设备与设备控制器之间有一接口,备与设备控制器之间有一接口,传递三类信号:对应传递三类信号:对应三条信号线三条信号线。缓冲缓冲转换器转换器控制逻辑控制逻辑信号信号数据数据数据信号线数据信号线状态信号线状态信号线控制信号线控制信号线至设备至设备控制器控制器I/O设备设备缓冲缓冲转换器转换器控制逻辑控制逻辑信号信号数据数据数据信号线数据信号线状态信号线状态信号线控制信号线控制信号线至设备至
16、设备控制器控制器I/O设备设备缓冲缓冲转换器转换器控制逻辑控制逻辑信号信号数据数据数据信号线数据信号线状态信号线状态信号线控制信号线控制信号线至设备至设备控制器控制器I/O设备设备Network Optimization Expert Team不同类型不同类型I/OI/O子系统的结构图子系统的结构图 具有控制器的具有控制器的I/OI/O系系统Network Optimization Expert Team5.1.2 5.1.2 设备控制器设备控制器 设备控制器设备控制器是是CPUCPU和设备之间的一个接口和设备之间的一个接口,它它接收从接收从CPUCPU发来的命令发来的命令,控制控制I/OI/
17、O设备操作设备操作,实现主实现主存和设备之间的数据传输。存和设备之间的数据传输。I/OI/O设备通常包含一个机械部件和一个电子部设备通常包含一个机械部件和一个电子部件。电子部件被称作件。电子部件被称作I/OI/O部件或设备控制器。部件或设备控制器。早期早期CPUCPU是直接控制外部设备的,在引入是直接控制外部设备的,在引入I/OI/O部件之后,部件之后,I/OI/O指令功能加强,才将指令功能加强,才将CPUCPU逐渐从与逐渐从与外设的交互细节中解放出来。外设的交互细节中解放出来。操作系统一般只与控制器打交道,而非设备本身。操作系统一般只与控制器打交道,而非设备本身。Network Optimi
18、zation Expert TeamPCIPCI总线控制器总线控制器处理机处理机内存内存显卡显卡外外设设光光盘盘磁磁盘盘IDEIDE总线控制器总线控制器外设控制器外设控制器控控制制器器控控制制器器连接连接CPUCPU、内存、设备控制器和、内存、设备控制器和I/OI/O设备模型设备模型 Network Optimization Expert Team 控制器的任务是在外部设备与控制器的任务是在外部设备与CPUCPU(或内存)之间(或内存)之间完成比特流(外部信号)和字节流(块)之间的转换完成比特流(外部信号)和字节流(块)之间的转换。磁盘磁盘 控制器控制器主存主存比特流比特流字节块字节块转换、校
19、验转换、校验字符显示字符显示控制器控制器主存经主存经CPUCPU显示信号显示信号字节流字节流转换转换Network Optimization Expert Team1.设备控制器的基本功能设备控制器的基本功能1)接收和识别命令来自接收和识别命令来自CPU的命令的命令2)进行数据交换进行数据交换3)收集设备状态并向收集设备状态并向CPU报告报告4)地址识别地址识别5)数据缓冲数据缓冲6)差错差错Network Optimization Expert Team2.设备控制器的组成设备控制器的组成1)控制器与处理机的接口控制器与处理机的接口2)控制器与设备的接口控制器与设备的接口3)I/O逻辑逻辑由
20、三部分组成:由三部分组成:Network Optimization Expert Team设备控制器的组成设备控制器的组成数据寄存器数据寄存器控制控制/状态状态寄存器寄存器数据线数据线I/OI/O 逻辑逻辑控制器控制器与设备与设备接口接口1 1控制器控制器与设备与设备接口接口i i数据数据状态状态控制控制数据数据状态状态控制控制地址线地址线控制线控制线CPUCPU与控制器接口与控制器接口控制器与设备接口控制器与设备接口C CP PU U设设备备Network Optimization Expert Team5.1.3 I/O5.1.3 I/O通道通道 1.I/O通道通道(I/OChannel)
21、设备的引入设备的引入定义:定义:通道是独立于通道是独立于CPU的专门负责数据的专门负责数据I/O传输传输工作的特殊的处理机,对外部设备实现统一管理,工作的特殊的处理机,对外部设备实现统一管理,代替代替CPU对对I/O操作进行控制,从而使操作进行控制,从而使I、O操作可与操作可与CPU并行操作。并行操作。引入通道的目的:引入通道的目的:为了使为了使CPU从从I/O事务中解脱出事务中解脱出来,同时为了提高来,同时为了提高CPU与设备、设备与设备之间的与设备、设备与设备之间的并行工作能力。并行工作能力。通过执行通道程序来控制通过执行通道程序来控制I/O操作。操作。指令类型单一,只能执行与指令类型单一
22、,只能执行与I/O操作有关的命令。操作有关的命令。通道没有自己的内存,与通道没有自己的内存,与CPU共享内存。共享内存。Network Optimization Expert Team不同类型不同类型I/OI/O子系统的结构图子系统的结构图 具有控制器的具有控制器的I/OI/O系系统Network Optimization Expert Team2.通道类型通道类型1)字节多路通道字节多路通道(ByteMultiplexorChannel)字节多路通道以字节为单位传输信息,它可以分时字节多路通道以字节为单位传输信息,它可以分时地共享主通道。地共享主通道。以字节为单位交叉传输,当一台传送一个字节
23、后,以字节为单位交叉传输,当一台传送一个字节后,立即转去为另一台传送字节。立即转去为另一台传送字节。主要连接以字节为单位的低速主要连接以字节为单位的低速I/OI/O设备。如打印机、设备。如打印机、终端。终端。Network Optimization Expert Team字节多路通道的工作原理字节多路通道的工作原理控制器控制器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
24、 3子通道子通道N NA A1 1B B1 1C C1 1A A2 2B B2 2C C2 2设备设备Network Optimization Expert Team2)数组选择通道数组选择通道(BlockSelectorChannel)字节多路通道不适于连接高速设备,这推动了按数字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道的形成。组方式进行数据传送的数组选择通道的形成。选择通道是以成组方式工作的,即每次传送一批数选择通道是以成组方式工作的,即每次传送一批数据,故据,故传送速度很高传送速度很高。这种通道虽然可以连接多台高速设备,但由于它只这种通道虽然可以连接多台
25、高速设备,但由于它只含有一个分配型子通道,在一段时间内只能执行一道含有一个分配型子通道,在一段时间内只能执行一道通道程序,控制一台设备进行数据传送,致使当某台通道程序,控制一台设备进行数据传送,致使当某台设备占用了该通道后,便一直由它独占,即使是它无设备占用了该通道后,便一直由它独占,即使是它无数据传送,通道被闲置,也不允许其它设备使用该通数据传送,通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放该通道。可见,这种通道,直至该设备传送完毕释放该通道。可见,这种通道的道的利用率很低利用率很低。Network Optimization Expert Team3)3)数组多路通道数组多
26、路通道(Block Multiplexor Channel)(Block Multiplexor Channel)数组选择通道虽有很高的传输速率,但它却每次数组选择通道虽有很高的传输速率,但它却每次只允许一个设备传输数据。只允许一个设备传输数据。数组多路通道是将数组选择通道传输速率高和字数组多路通道是将数组选择通道传输速率高和字节多路通道能使各子通道节多路通道能使各子通道(设备设备)分时并行操作的优分时并行操作的优点相结合而形成的一种新通道。点相结合而形成的一种新通道。它含有多个非分配型子通道,因而这种通道既具它含有多个非分配型子通道,因而这种通道既具有有很高的数据传输速率很高的数据传输速率,
27、又能获得,又能获得令人满意的通道令人满意的通道利用率利用率。广泛地用于连接多台高、中速的外围设备,其数广泛地用于连接多台高、中速的外围设备,其数据传送是按数组方式进行的。据传送是按数组方式进行的。Network Optimization Expert Team3.“瓶颈瓶颈”问题问题单通路单通路I/O系统系统设备设备1设备设备2设备设备3设备设备4设备设备5设备设备6设备设备7控制器控制器1控制器控制器2控制器控制器3控制器控制器4通道通道1通道通道2存储器存储器通道数量少,造成整个系统吞吐量下降。例如:通道数量少,造成整个系统吞吐量下降。例如:Network Optimization Exp
28、ert Team多通路多通路I/O系统系统I/O设备设备控制器控制器1控制器控制器2通道通道1通道通道2存储器存储器I/O设备设备I/O设备设备I/O设备设备解决问题的方法:解决问题的方法:增加设备到主机的通路而不增加通增加设备到主机的通路而不增加通道。即把一个设备连接到多个控制器上,一个控制器道。即把一个设备连接到多个控制器上,一个控制器连接到多个通道上。连接到多个通道上。Network Optimization Expert Team5.1.4 5.1.4 总线系统总线系统 总线型总线型I/O系统结构系统结构CPUCPU存储器存储器磁盘磁盘控制器控制器打印机打印机控制器控制器其它其它控制器
29、控制器磁盘驱动器磁盘驱动器打印机打印机系统总线系统总线计算机系统中各部件之间的联系都是通过总线来计算机系统中各部件之间的联系都是通过总线来实现的。实现的。Network Optimization Expert Team1.ISA和和EISA总线总线1)ISA(IndustryStandardArchitecture)总线总线1984年年推推出出,80286型型微微机机使使用用的的总总线线结结构构。总总线线的的带带宽宽为为8位位,最最高高传传输输速速率率为为2Mb/s。之之后后不不久久又又推推出出了了16位位的的(EISA)总总线线,其其最最高高传传输输速速率率为为8Mb/s,后又升至,后又升至
30、16Mb/s,能连接,能连接12台设备。台设备。2)EISA(ExtendedISA)总线总线80年年代代末末期期,开开发发出出扩扩展展ISA(EISA)总总线线,带带宽宽为为32位位,总总线线的的传传输输速速率率高高达达32Mb/s,同同样样可可以以连连接接12台外部设备。台外部设备。Network Optimization Expert Team2.局部总线局部总线(LocalBus)1)VESA(VideoElectronicStandardAssociation)总线总线带宽为带宽为32位,最高传输速率为位,最高传输速率为132Mb/s。90年代推年代推出。只能连接出。只能连接2-4台
31、设备,且控制器中无缓冲。不台设备,且控制器中无缓冲。不支持支持Pentium微机。微机。2)PCI(PeripheralComponentInterface)总线总线在在CPU和外设间插入一复杂的管理层,用于协调数和外设间插入一复杂的管理层,用于协调数据传输和提供一致的接口。在管理层中配有数据缓据传输和提供一致的接口。在管理层中配有数据缓冲,最多支持冲,最多支持10种外设,并使高时钟频率的种外设,并使高时钟频率的CPU能能很好运行。可连接很好运行。可连接ISA和和EISA等传统总线,数据总等传统总线,数据总线线32位,且可扩展为位,且可扩展为64位。位。Network Optimization
32、 Expert Team5.2 I/O5.2 I/O控制方式控制方式 程序程序I/OI/O方式方式 中断驱动中断驱动I/OI/O控制方式控制方式 DMA I/ODMA I/O控制方式控制方式 I/OI/O通道控制方式通道控制方式Network Optimization Expert Team5.2.1 5.2.1 程序程序I/OI/O方式方式 在这种方式下,在这种方式下,CPUCPU中中无中断机构无中断机构。输入输出指令。输入输出指令或询问指令测试一台设备的忙闲标志位,决定主存或询问指令测试一台设备的忙闲标志位,决定主存储器和外围设备是否交换一个字符或一个字。储器和外围设备是否交换一个字符或一
33、个字。一旦一旦CPUCPU启动启动I/OI/O设备,便不断查询设备,便不断查询I/OI/O设备的准备设备的准备情况,终止原程序的执行,浪费情况,终止原程序的执行,浪费CPUCPU时间。时间。I/OI/O准备就绪后,准备就绪后,CPUCPU参与数据传送工作,而不能参与数据传送工作,而不能执行原程序。执行原程序。CPUCPU和和I/OI/O设备串行工作,使主机不能充分发挥效设备串行工作,使主机不能充分发挥效率,外围设备也不能得到合理使用,整个系统效率率,外围设备也不能得到合理使用,整个系统效率很低。很低。Network Optimization Expert Team向向I/O控制器控制器发读命令
34、发读命令读读I/O控制器控制器的状态的状态检查检查状态?状态?从从I/O控制器控制器中读入字中读入字向存储器向存储器中写字中写字传送传送完成?完成?未未就就绪绪就绪就绪出错出错CPUI/OI/OCPUI/OCPUCPU内存内存下条指令下条指令完成完成未完未完向向I/O控制器控制器发读命令发读命令读读I/O控制器控制器的状态的状态检查检查状态?状态?从从I/O控制控制器中读字器中读字向内存向内存中写字中写字传送传送完成?完成?就绪就绪出错出错CPUI/OI/OCPUI/OCPUCPU内存内存下条指令下条指令完成完成未完未完中断中断CPU做其它事做其它事向向I/O控制器控制器发布读块命令发布读块命
35、令CPUDMACPU做其它事做其它事读读DMA控制控制器的状态器的状态中断中断DMACPU下条指令下条指令(a)程序程序I/O方式方式(b)中断驱动方式中断驱动方式(c)DMA方式方式程序程序I/O和中断驱动方式的流程和中断驱动方式的流程Network Optimization Expert Team5.2.2 5.2.2 中断驱动中断驱动I/OI/O控制方式控制方式 CPUCPU启动启动I/OI/O设备后,不必查询设备后,不必查询I/OI/O设备是否就绪,设备是否就绪,继续执行现行程序。继续执行现行程序。设备控制器按照命令要求去控制指定的设备控制器按照命令要求去控制指定的I/OI/O设备,设
36、备,当数据准备好后,即进入数据寄存器后,控制器通当数据准备好后,即进入数据寄存器后,控制器通过控制线向过控制线向CPUCPU发送中断信号。发送中断信号。I/OI/O操作直接由操作直接由CPUCPU控制,每传送一个字符或字,控制,每传送一个字符或字,要发生一次中断,仍然消耗大量要发生一次中断,仍然消耗大量CPUCPU时间。时间。不必忙式查询不必忙式查询I/OI/O准备情况,准备情况,CPUCPU和和I/OI/O设备可实现设备可实现部分并行,与程序查询的串行工作方式相比,使部分并行,与程序查询的串行工作方式相比,使CPUCPU资源得到较充分利用。资源得到较充分利用。Network Optimiza
37、tion Expert Team5.2.3 5.2.3 直接存储器访问直接存储器访问DMA I/ODMA I/O控制方式控制方式 如果如果I/OI/O设备能直接与主存交换数据而不占用设备能直接与主存交换数据而不占用CPUCPU,CPUCPU的利用率还可提高,这就出现了的利用率还可提高,这就出现了直接存储直接存储器存取器存取DMADMA方式。方式。1.1.特点:特点:数据传输的基本单位是数据块,即在数据传输的基本单位是数据块,即在CPUCPU与与I/OI/O设设备之间,每次传送至少一个数据块;备之间,每次传送至少一个数据块;所传送的数据是从设备直接送入内存的,或者相所传送的数据是从设备直接送入内
38、存的,或者相反;反;仅在传送一个或多个数据块的开始和结束时,才仅在传送一个或多个数据块的开始和结束时,才需需CPUCPU干预,整块数据的传送是在控制器的控制下完干预,整块数据的传送是在控制器的控制下完成的。成的。Network Optimization Expert Team2.DMA控制器的组成控制器的组成DMA控制器的组成控制器的组成DRDRMARMARDCDCCRCRI/OI/O控控制制逻逻辑辑主机主机控制器接口控制器接口控制器与块设备接口控制器与块设备接口countcount内存内存CPUCPU命令命令系统总线系统总线DMADMA控制器控制器Network Optimization E
39、xpert Team在在DMA控制器中设置四类寄存器:控制器中设置四类寄存器:(1)命命令令/状状态态寄寄存存器器CR:用用于于接接收收从从CPU发发来来的的I/O命令或有关控制信息,命令或有关控制信息,或设备的状态。或设备的状态。(2)内内存存地地址址寄寄存存器器MAR:在在输输入入时时,它它存存放放把把数数据据从从设设备备传传送送到到内内存存的的起起始始目目标标地地址址;在在输输出出时时,它存放由内存到设备的内存源地址。它存放由内存到设备的内存源地址。(3)数数据据寄寄存存器器DR:用用于于暂暂存存从从设设备备到到内内存存,或或从从内存到设备的数据。内存到设备的数据。(4)数据计数器数据计
40、数器DC:存放本次存放本次CPU要读或写的字要读或写的字(节节)数。数。Network Optimization Expert Team3.DMA工作过程工作过程DMA方式的工作流程方式的工作流程设置设置MARMAR和和DCDC初值初值启动启动DMADMA传送命令传送命令挪用存储器周期传送挪用存储器周期传送数据字数据字存储器地址增存储器地址增1 1字计数寄存器减字计数寄存器减1 1DCDC0?0?请求中断请求中断在继续执行用户在继续执行用户程序的同时程序的同时,准准备又一次传送备又一次传送否否是是例:例:CPUCPU从磁盘从磁盘 读取数据读取数据CPUCPU转去执行其他任务转去执行其他任务Ne
41、twork Optimization Expert Team5.2.4 I/O5.2.4 I/O通道控制方式通道控制方式 1.I/O通道控制方式的引入通道控制方式的引入 I/OI/O通道方式是通道方式是DMADMA方式的发展,它可进一步减少方式的发展,它可进一步减少CPUCPU的干预,即把对一个数据块的读的干预,即把对一个数据块的读(或写或写)为单位的为单位的干预,减少为对一组数据块的读干预,减少为对一组数据块的读(或写或写)及有关的控及有关的控制和管理为单位的干预。制和管理为单位的干预。可实现可实现CPUCPU、通道和、通道和I/OI/O设备三者的并行操作,从设备三者的并行操作,从而更有效地
42、提高整个系统的资源利用率。而更有效地提高整个系统的资源利用率。Network Optimization Expert Team2.通道程序通道程序(1)(1)操作码操作码读、写、控制等操作读、写、控制等操作 (2)(2)内存地址内存地址操作的内存首址操作的内存首址 (3)(3)计数计数操作的字节数操作的字节数(4)(4)通道程序结束位通道程序结束位P PP=1,P=1,通道结束通道结束(5)(5)记录结束标志记录结束标志R RR=1,R=1,记录结束记录结束 通道是通过执行通道程序,并于设备控制器共通道是通过执行通道程序,并于设备控制器共同实现对同实现对I/OI/O设备的控制。通道程序由一系列
43、的通道设备的控制。通道程序由一系列的通道指令所构成。每条通道指令应包含以下的内容:指令所构成。每条通道指令应包含以下的内容:Network Optimization Expert Team操作操作PR计数计数内存地址内存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE11250720例:例:下面给出一个由六条通道指令所构成的简单的通下面给出一个由六条通道指令所构成的简单的通道程序。该程序是将内存中不同地址的数据写成多个道程序。该程序是将内存中不同地址的数据写成多个记录。记录。Network Op
44、timization Expert Team5.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设备之间的并行性。设备之间的并行性。Network Optimization Expert Tea
45、m5.3.2 5.3.2 单缓冲和双缓冲单缓冲和双缓冲 1.单缓冲单缓冲(SingleBuffer)单缓冲是操作系统提供的最简单的一种缓冲形式。单缓冲是操作系统提供的最简单的一种缓冲形式。每当一个进程发出一个每当一个进程发出一个I/OI/O请求时,操作系统便在主请求时,操作系统便在主存中为之分配一缓冲区,该缓冲区用来临时存放输入存中为之分配一缓冲区,该缓冲区用来临时存放输入/输出数据。输出数据。外部外部设备缓冲冲区区OSOS用用户进程程Network Optimization Expert Team对于块设备:对于块设备:OSOS为进程分配一缓冲区,块设备输入为进程分配一缓冲区,块设备输入时从
46、磁盘把一块数据输入缓冲区的时间为时从磁盘把一块数据输入缓冲区的时间为T T,OSOS将缓将缓冲区的数据传送给用户区的时间为冲区的数据传送给用户区的时间为M M,计算时间为,计算时间为C C,则,则T T和和C C时可以并行的。数据处理时间约为时可以并行的。数据处理时间约为maxC,T+MmaxC,T+M。对于字符设备:对于字符设备:输入时,缓冲区用于暂存用户输入输入时,缓冲区用于暂存用户输入的一行数据,在输入期间,进程挂起等待输入完毕;的一行数据,在输入期间,进程挂起等待输入完毕;输出时进程将一行数据输入到缓冲区,继续执行处输出时进程将一行数据输入到缓冲区,继续执行处理。如果前面的数据尚未提取
47、完毕,则进程应阻塞。理。如果前面的数据尚未提取完毕,则进程应阻塞。Network Optimization Expert Team工作区工作区处理处理(C)缓冲区缓冲区传送传送(M)输入输入(T)I/O设备设备(a)T1M1C1T2M2C2T3M3C3T4t(b)用户进程用户进程单缓冲工作示意图单缓冲工作示意图Network Optimization Expert Team 在两种情况下,单缓冲区的使用不会改善用户进程在两种情况下,单缓冲区的使用不会改善用户进程的性能:的性能:如果用户进程在对有关数据进行加工处理时不如果用户进程在对有关数据进行加工处理时不释放释放I/OI/O缓冲区,那么用户进
48、程的性能不会得到改缓冲区,那么用户进程的性能不会得到改善。善。如果如果T T远大于远大于C C,即外部设备的,即外部设备的I/OI/O速度比用户进速度比用户进程的计算速度慢得多,那么,单程的计算速度慢得多,那么,单I/OI/O缓冲区不会显缓冲区不会显著改善用户进程的性能。著改善用户进程的性能。Network Optimization Expert Team2.双缓冲双缓冲(DoubleBuffer)增加一个缓冲区,两个缓冲区可以交替使用。增加一个缓冲区,两个缓冲区可以交替使用。当数据从缓冲区复制到用户进程空间时,输入设当数据从缓冲区复制到用户进程空间时,输入设备不必等待,可立即开始向另一个缓冲
49、区输入数据。备不必等待,可立即开始向另一个缓冲区输入数据。因此,增加了一个缓冲区后,前述的数据处理时间因此,增加了一个缓冲区后,前述的数据处理时间可近似为:可近似为:MAX(TMAX(T,C)C)。Network Optimization Expert Team外部外部设备缓冲冲区区OSOS用用户进程程缓冲冲区区另外,若用户进程另外,若用户进程I/OI/O的数据超过一个缓冲区而不的数据超过一个缓冲区而不满两个缓冲区,双缓冲使进程不会在满两个缓冲区,双缓冲使进程不会在I/OI/O数据期间被数据期间被阻塞。阻塞。Network Optimization Expert Team工作区工作区用户进程用
50、户进程缓冲区缓冲区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 TNetwork Optimization Expert Team双机通信时缓冲区的设置双机通信时缓冲区的设置缓冲区缓冲区缓冲区缓冲区A机机B机机(a)单缓冲单缓冲发送发送缓冲区缓冲区接收接收缓冲区缓冲区接收接收缓冲区缓冲区发送发送缓冲区缓冲区A机机B机机(b)双缓冲双缓冲在实现两台机器通信时,缓冲区的设置:单缓冲、在实现两台机器通信时,缓冲区的