《[精选]操作系统第5章设备管理(1).pptx》由会员分享,可在线阅读,更多相关《[精选]操作系统第5章设备管理(1).pptx(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4/18/20231第五章第五章第五章第五章 设备管理设备管理设备管理设备管理qI/O系统是计算机系统的重要组成局部系统是计算机系统的重要组成局部qI/O系统包括用于实现信息输入、输出和存储功系统包括用于实现信息输入、输出和存储功能的设备和相应的控制器能的设备和相应的控制器q设备管理的基本任务是完成用户提出的设备管理的基本任务是完成用户提出的I/O请求,请求,提高提高I/O速率以及改善速率以及改善I/O的利用率的利用率q设备管理的主要功能有缓冲区管理、设备分配、设备管理的主要功能有缓冲区管理、设备分配、设备处理、虚拟设备及实现设备独立性设备处理、虚拟设备及实现设备独立性4/18/20232内容
2、内容qq1 1I/OI/O组成;组成;组成;组成;qq2 2I/OI/O控制;控制;控制;控制;vv指指指指I/OI/O完成的方法。完成的方法。完成的方法。完成的方法。qq3 3I/OI/O缓冲;缓冲;缓冲;缓冲;qq4 4I/OI/O分配;分配;分配;分配;qq5 5I/OI/O处理。处理。处理。处理。vv指具体指具体指具体指具体I/OI/O命令的完成过程。命令的完成过程。命令的完成过程。命令的完成过程。4/18/202335.1 I/O 系系 统统 I/O系统的组成系统的组成 在一个计算机系统中,除了需要直接用于I/O和存储信息的设备外,还需要有相应的设备控制器。在大、中型计算机系统中,还
3、需要I/O通道,这些设备以及相应的总线构成了I/O系统。I/O系统的结构系统的结构对于不同规模的计算机系统,其I/O系统的结构也有所差异。通常可将I/O系统的结构分成两大类:1、微型机、微型机I/O系统系统 2、主机、主机I/O系统系统4/18/202345.1 I/O 系系 统统 I/O系统的组成系统的组成 1、微型机、微型机I/O系统系统 由于微型机本身比较简单,其I/O系统多采用总线I/O系统结构。CPU和内存是直接连接到总线上的。I/O设备是通过设备控制器连接到总线上,CPU并不直接与I/O设备进行通信,而是与设备控制器进行通信,设备控制器是处理机和设备之间的接口,控制器有磁盘控制器、
4、打印机控制器等。2、主机、主机I/O系统系统 在I/O系统中采用总线结构,而是增加一级I/O通道。其中,I/O系统共分为4级:最低级为I/O设备,次低级为设备控制器,次高级为I/O通道,最高级是计算机。因而也称这样的I/O系统结构为四级结构。4/18/20235第五章第五章第五章第五章 设备管理设备管理设备管理设备管理qI/O系统系统 qI/O控制方式控制方式 q缓冲管理缓冲管理 q设备分配设备分配q设备处理设备处理q磁盘存储器管理磁盘存储器管理4/18/20236I/OI/O系统系统系统系统qI/O设备设备q设备控制器设备控制器qI/O通道通道q总线系统总线系统4/18/20237I/OI/
5、O设备设备设备设备qI/O设备的类型设备的类型 v按附属关系分类按附属关系分类系统设备系统设备用户设备用户设备4/18/20238I/OI/O设备设备设备设备qI/O设备的类型设备的类型 v按传输速率分类按传输速率分类低速设备低速设备 每秒几个字节至数百字节每秒几个字节至数百字节键盘、鼠标、语音输入输出设备等键盘、鼠标、语音输入输出设备等中速设备中速设备每秒数千至数万字节每秒数千至数万字节行式打印机、激光打印机等行式打印机、激光打印机等高速设备高速设备每秒数百每秒数百K至数十至数十M字节字节磁盘机、磁带机、光盘机等磁盘机、磁带机、光盘机等4/18/20239I/OI/O设备设备设备设备qI/O
6、设备的类型设备的类型v按信息交换的单位分类按信息交换的单位分类块设备块设备Block Device信息的存取总是以数据块为单位信息的存取总是以数据块为单位可寻址可寻址磁盘,每个盘块的大小为磁盘,每个盘块的大小为512 B4 KB字符设备字符设备Character Device基本单位是字符基本单位是字符不可寻址不可寻址交互式终端、打印机交互式终端、打印机4/18/2023102按信息交换的单位分类可将I/O设备分成两类。第一类是块设备第一类是块设备Block Device这类设备用于存存存存储储储储信息。由于信息的存取总是以数数数数据据据据块块块块为单位,故而得名。它属于有有有有结结结结构构构
7、构设备。典型的块设备是磁磁磁磁盘盘盘盘,每个盘块的大小为512B4KB。磁盘设备的基本特征是其传传传传输输输输速速速速率率率率较较较较高高高高,通常每秒钟为几兆位;另一特征是可可可可寻寻寻寻址址址址,即对它可随机地读/写任一块;此外,磁盘设备的I/O常采用DMADMA方式方式方式方式。第二类是字符设备第二类是字符设备Character Device用于数据的输输输输入入入入和和和和输输输输出出出出。其基本单位是字字字字符符符符,故称为字符设备。它属于无无无无结结结结构构构构设备。交交交交互互互互式式式式终终终终端端端端、打打打打印印印印机机机机等。字符设备的基本特征是:传传传传输输输输速速速速
8、率率率率较较较较低低低低;不不不不可可可可寻寻寻寻址址址址;即不能指定输入时的源地址及输出时的目标地址;字符设备在I/O时,常采用中断驱动方式中断驱动方式中断驱动方式中断驱动方式。4/18/202311I/OI/O设备设备设备设备qI/O设备的类型设备的类型v按资源分配角度分类共享属性按资源分配角度分类共享属性独占设备独占设备多数低速设备属独占设备,如打印机多数低速设备属独占设备,如打印机共享设备共享设备 可供多个进程同时访问,如磁盘可供多个进程同时访问,如磁盘虚拟设备虚拟设备通过虚拟技术将一台独占设备变换为假通过虚拟技术将一台独占设备变换为假设干个逻辑设备,供假设干个进程同时使设干个逻辑设备
9、,供假设干个进程同时使用用临界资源临界资源4/18/202312I/OI/O设备设备设备设备qI/O设备的类型设备的类型v按操作特性按操作特性存储设备存储设备存储信息,如磁盘等存储信息,如磁盘等I/O设备设备用来向用来向CPU传送信息或输出加工处理传送信息或输出加工处理后的信息,如显示器、打印机后的信息,如显示器、打印机4/18/2023132.设备与控制器之间的接口设备与控制器之间的接口 通常,设备并不是直接与CPU进行通信,而是与设备控制器通信。因此,在设备与设备控制器之间应有一接口。4/18/202314I/OI/O设备设备设备设备q设备与控制器之间的接口设备与控制器之间的接口v数据信号
10、线数据信号线用于在设备和设备控制器之间传送数据信号用于在设备和设备控制器之间传送数据信号v控制信号线控制信号线作为由设备控制器向作为由设备控制器向I/O设备发送控制信号规定设备发送控制信号规定设备应执行的操作时的通路设备应执行的操作时的通路v状态信号线状态信号线用于传送指示设备当前状态的信号用于传送指示设备当前状态的信号设备控制器设备控制器是是CPUCPU与与I/OI/O设备之间的设备之间的接口接口由外界输入的信号由外界输入的信号经转换器转换后送经转换器转换后送入缓冲器,数据到入缓冲器,数据到达一定的字符数后,达一定的字符数后,再从缓冲器通过一再从缓冲器通过一组数据信号线送到组数据信号线送到控
11、制器控制器从设备控制器经过从设备控制器经过数据信号线传送来数据信号线传送来的数据先暂存在缓的数据先暂存在缓冲器,经转换器经冲器,经转换器经过适当转换后,逐过适当转换后,逐个字符输出个字符输出信号规定设信号规定设备要执行的备要执行的操作操作指示设备当指示设备当前状态,正前状态,正在读、写或在读、写或完成完成4/18/202315I/OI/O系统系统系统系统qI/O设备设备q设备控制器设备控制器qI/O通道通道q总线系统总线系统4/18/202316设备控制器设备控制器设备控制器设备控制器q设备控制器是设备控制器是CPU与与I/O设备之间的接口设备之间的接口q接收接收CPU发来的命令,控制一个或多
12、个发来的命令,控制一个或多个I/O设备设备工作,以实现工作,以实现I/O设备和计算机之间的数据交换,设备和计算机之间的数据交换,减轻减轻CPU的负担的负担q设备控制器是一个可编址的设备设备控制器是一个可编址的设备q设备控制器分类设备控制器分类v控制字符设备控制字符设备v控制块设备控制块设备4/18/202317设备控制器设备控制器设备控制器设备控制器q基本功能基本功能v接收和识别命令接收和识别命令应有控制存放器存放接受的命令和参数,并对其译码应有控制存放器存放接受的命令和参数,并对其译码 v数据交换数据交换 实现实现CPU与控制器、控制器与设备之间的数据交换,需设与控制器、控制器与设备之间的数
13、据交换,需设置数据存放器置数据存放器v标识和报告设备的状态:需设置状态存放器标识和报告设备的状态:需设置状态存放器v地址识别地址识别 识别所控制的设备,需设置地址译码器识别所控制的设备,需设置地址译码器v数据缓冲数据缓冲:解决:解决I/O设备速率低的问题设备速率低的问题v过失控制过失控制:对:对I/O设备发送的数据设备发送的数据4/18/2023182.设备控制器的组成设备控制器的组成 由于设备控制器处于CPU与设备之间,它既要与CPU通信,又要与设备通信,还应具有按照CPU所发来的命令去控制设备的工作功能。因此,现有的大多数控制器都是由以下三局部组成的:1设备控制器与处理机的接口。2设备控制
14、器与设备的接口3I/O逻辑4/18/202319设备控制器设备控制器设备控制器设备控制器q设备控制器的组成设备控制器的组成v设备控制器与处理机的接口设备控制器与处理机的接口实现实现CPU与设备控制器之间通信与设备控制器之间通信三类信号线三类信号线数据线:连接数据线:连接数据存放器:存放设备或数据存放器:存放设备或CPU送来的数据送来的数据控制控制/状态存放器:存放状态存放器:存放CPU送来的控制信送来的控制信息或设备的状态信息息或设备的状态信息地址线地址线控制线控制线4/18/202320设备控制器设备控制器设备控制器设备控制器q设备控制器的组成设备控制器的组成v设备控制器与设备的接口设备控制
15、器与设备的接口一个设备控制器可连接一个或多个设备一个设备控制器可连接一个或多个设备控制器中则有一个或多个设备接口控制器中则有一个或多个设备接口接口中存在数据、控制、状态信号接口中存在数据、控制、状态信号I/O逻辑根据处理机发来的地址信号选择一个设备逻辑根据处理机发来的地址信号选择一个设备接口接口4/18/202321设备控制器设备控制器设备控制器设备控制器q设备控制器的组成设备控制器的组成vI/O逻辑:实现对设备的控制逻辑:实现对设备的控制处理机利用它向控制器发送处理机利用它向控制器发送I/O命令命令I/O逻辑对接受到的命令进行译码逻辑对接受到的命令进行译码 CPU发送同时启动命令及地址通过地
16、址线发发送同时启动命令及地址通过地址线发送给控制器,控制器的送给控制器,控制器的I/O逻辑对地址译码,在根据逻辑对地址译码,在根据命令对所选设备进行控制命令对所选设备进行控制4/18/202322设备控制器设备控制器设备控制器设备控制器q设备控制器的组成设备控制器的组成4/18/202323I/OI/O系统系统系统系统qI/O设备设备q设备控制器设备控制器qI/O通道通道q总线系统总线系统4/18/202324I/OI/O通道通道通道通道qI/O通道通道I/O Channel设备的引入设备的引入v是一种特殊处理机,专门负责输入是一种特殊处理机,专门负责输入/输出工作输出工作v有自己简单的指令系
17、统,只有数据传送指令和设备控有自己简单的指令系统,只有数据传送指令和设备控制指令制指令v主要目的是为了建立独立的主要目的是为了建立独立的I/O操作,使有关对操作,使有关对I/O操操作的组织、管理及其结束处理也独立于作的组织、管理及其结束处理也独立于CPUvCPU向向I/O通道发送通道发送I/O命令,由通道执行程序命令,由通道执行程序v通道与一般处理机的区别通道与一般处理机的区别指令单一指令单一没有独立的内存没有独立的内存 4/18/2023255.1.3 I/O通道通道 1.I/O通道通道I/O Channel设备的引入设备的引入 其其主主要要目目的的是为了建立独立的I/O操作,其目的是使一些
18、原来由CPU处理的I/O任务转由通道来承担,实际上,I/O通道是一种特殊的处理机。它具有执行I/O指令的能力,并通过执行通道I/O程序来控制I/O操作。但I/O通道又与一般的处理机不同,主要表现在以下两个方面:一是其指令类型单一,这是由于通道硬件比较简单,其所能执行的命令,主要局限于与I/O操作有关的指令;再就是通道没有自己的内存,通道所执行的通道程序是放在主机的内存中的,换言之,是通道与CPU共享内存。4/18/2023262.通道类型通道类型 1)字节多路通道ByteMultiplexorChannel2)数组选择通道BlockSelectorChannel3)数组多路通道BlockMul
19、tiplexorChannel4/18/2023272.通道类型通道类型 1)字节多路通道ByteMultiplexorChannel这些通道按时间片轮转方式共享主通道。当所有子通道轮转一周后,重又返回来由第一个子通道去使用。通过字节多路通道来连接低速或中速设备时,便不能丧失信息。4/18/202328I/OI/O通道通道通道通道q通道类型通道类型v字节多路通道字节多路通道Byte Multiplexor Channel以字节交换方式工作,分时并行操作以字节交换方式工作,分时并行操作主要用来连接多个中低速设备主要用来连接多个中低速设备4/18/202329I/OI/O通道通道通道通道q通道类型
20、通道类型v数组选择通道数组选择通道Block Selector Channel以成组方式工作,高速传输数据以成组方式工作,高速传输数据可以连接多台高速设备可以连接多台高速设备仅含有一个分配型子通道,在一段时间内只仅含有一个分配型子通道,在一段时间内只能执行一个通道程序,控制一台能执行一个通道程序,控制一台I/O设备设备由设备独占使用,利用率较低由设备独占使用,利用率较低4/18/2023302数组选择通道BlockSelectorChannel字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道的形成。这种通道虽然可以连接多台高速设备,但由于它只含有一个分配型子通道,在
21、一段时间内只能执行一道通道程序,控制一台设备进行数据传送,致使当某台设备占用了该通道后,便一直由它独占,即使是它无数据传送,通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放该通道。可见,这种通道的利用率很低。4/18/202331I/OI/O通道通道通道通道q通道类型通道类型v数组多路通道数组多路通道Block Multiplexor Channel将数组选择通道传输速率高和字节多路通将数组选择通道传输速率高和字节多路通道分时并行操作的优点相结合而形成的一道分时并行操作的优点相结合而形成的一种新通道种新通道它含有多个非分配型子通道,它含有多个非分配型子通道,因而这种因而这种通道既
22、具有很高的数据传输速率,又能获通道既具有很高的数据传输速率,又能获得令人满意的通道利用率得令人满意的通道利用率4/18/202332I/OI/O通道通道通道通道q瓶颈问题瓶颈问题4/18/202333I/OI/O通道通道通道通道4/18/202334I/OI/O系统系统系统系统qI/O设备设备q设备控制器设备控制器qI/O通道通道q总线系统总线系统4/18/202335I/O系统的组成系统的组成 1、微型机、微型机I/O系统系统 由于微型机本身比较简单,其I/O系统多采用总线I/O系统结构。CPU和内存是直接连接到总线上的。I/O设备是通过设备控制器连接到总线上,CPU并不直接与I/O设备进行
23、通信,而是与设备控制器进行通信,设备控制器是处理机和设备之间的接口,控制器有磁盘控制器、打印机控制器等。2、主机、主机I/O系统系统 在I/O系统中采用总线结构,而是增加一级I/O通道。其中,I/O系统共分为4级:最低级为I/O设备,次低级为设备控制器,次高级为I/O通道,最高级是计算机。因而也称这样的I/O系统结构为四级结构。4/18/202336总线系统总线系统总线系统总线系统q在计算机系统中的各部件,如在计算机系统中的各部件,如CPU、存储器以及、存储器以及各种各种I/O设备之间都是通过总线来联系设备之间都是通过总线来联系4/18/2023375.1.4 总线系统总线系统 2、主机、主机
24、I/O系统大、中型系统大、中型qq四级结构四级结构vv计算机计算机I/OI/O通道通道I/OI/O控制器控制器设备设备vvI/OI/O通道相当于对总线的扩展,即多总线方式,且通道有一定通道相当于对总线的扩展,即多总线方式,且通道有一定的智能性,能与的智能性,能与CPUCPU并行,解决其负担。并行,解决其负担。vvISA/EISA/LocalBUS/VESA/PCIISA/EISA/LocalBUS/VESA/PCI 4/18/202338 1.ISA和和EISA总线总线1ISAIndustryStandardArchitecture总线这是为了1984年推出的80286型微机而设计的总线结构。
25、其总线的带宽为8位,最高传输速率为2Mb/s。之后不久又推出了16位的EISA总线,其最高传输速率为8Mb/s,后又升至16Mb/s,能连接12台设备。2EISAExtendedISA总线到80年代末期,ISA总线已难于满足带宽和传输速率的要求,于是人们又开发出扩展ISAEISA总线,其带宽为32位,总线的传输速率高达32Mb/s,同样可以连接12台外部设备。4/18/202339总线系统总线系统总线系统总线系统qISA和和EISA总线总线vISAIndustry Standard Architecture总线总线1984年为年为80286型微机设计型微机设计带宽为带宽为8位位最高传输速率为最
26、高传输速率为2 Mb/svEISAExtended ISA总线总线带宽为带宽为32位位传输速率传输速率32 Mb/s4/18/202340总线系统总线系统总线系统总线系统q局部总线局部总线Local Busv局部总线是指将多媒体卡、高速网卡、高局部总线是指将多媒体卡、高速网卡、高性能图形板等从性能图形板等从ISA总线上卸下来,再通过总线上卸下来,再通过局部总线控制器直接接到局部总线控制器直接接到CPU总线上总线上vVESAVideo Electronic Standard Association总线总线 带宽带宽32位位最高传输速率为最高传输速率为132 Mb/sv PCIPeripheral
27、 ponent Interface总总线线在在CPU和外设间和外设间 插入一复杂的管理层,用于协插入一复杂的管理层,用于协调数据传输和提供一致的接口调数据传输和提供一致的接口4/18/202341设备管理功能设备管理功能设备管理功能设备管理功能q设备分配设备分配v按设备类型和分配算法将按设备类型和分配算法将I/O设备、控制器设备、控制器及通道分配给用户进程及通道分配给用户进程v对不能得到资源的进程进行阻塞对不能得到资源的进程进行阻塞q缓冲区管理缓冲区管理v在在CPU和设备之间进行速度匹配和设备之间进行速度匹配q设备的设备的I/O操作操作v生成通道程序并启动和控制通道完成生成通道程序并启动和控制
28、通道完成I/O操操作作v未设置通道的系统应对相应设备未设置通道的系统应对相应设备I/O进行必进行必要的处理要的处理4/18/202342第五章第五章第五章第五章 设备管理设备管理设备管理设备管理qI/O系统系统 qI/O控制方式控制方式 q缓冲管理缓冲管理 q设备分配设备分配q设备处理设备处理q磁盘存储器管理磁盘存储器管理4/18/2023435.2 I/O控制方式控制方式 系统中引入中断机制后,使I/O方式从最简单的程序I/O方式开展为中断驱动方式;DMA控制器的出现,字节为传输单位扩大到以数据块为传输单位。5.2.1 程序程序I/O方式方式5.2.2 中断驱动中断驱动I/O控制方式控制方式
29、 5.2.3 直接存储器访问直接存储器访问DMA I/O控制方式控制方式5.2.4 I/O通道控制方式通道控制方式4/18/202344I/OI/O控制方式控制方式控制方式控制方式 q程序程序I/O方式方式q中断驱动中断驱动I/O方式方式q直接存储器访问直接存储器访问DMA I/O控制方式控制方式qI/O通道控制方式通道控制方式4/18/202345程序程序程序程序I/OI/O方式方式方式方式q处理机对处理机对I/O设备的控制采用程序设备的控制采用程序I/OProgrammed I/O方式,或称为忙方式,或称为忙-等方式等方式qCPU通过通过I/O测试指令测试设备接口中的状态位,测试指令测试设
30、备接口中的状态位,当为当为“忙时则一直测试,当为忙时则一直测试,当为“闲时,可进闲时,可进行数据传送,每次传送一个字符行数据传送,每次传送一个字符qCPU的绝大局部时间都处于等待的绝大局部时间都处于等待I/O设备完成数设备完成数据据I/O的循环测试中的循环测试中q外设不能合理使用,也无法支持多道程序外设不能合理使用,也无法支持多道程序4/18/202346程序程序程序程序I/OI/O方式方式方式方式向向I/O控制器控制器发读命令发读命令读读I/O控制器控制器的状态的状态检查检查状态?状态?从从I/O控制器控制器中读入字中读入字向存储器向存储器中写字中写字传送传送完成?完成?未未就就绪绪就绪就绪
31、出错出错CPUI/OI/OCPUI/OCPUCPU内存内存下条指令下条指令完成完成未完未完(a)程序程序I/O方式方式缺点:独占缺点:独占CPUCPU,始终繁忙始终繁忙工作过程工作过程处理机对I/O设备的控制,采取程序I/OProgrammedI/O方式或称为忙等待方式。即:1在处理机向控制器发出一条I/O指令启动输入设备输入数据时,要同时把状态存放器的忙/闲标志busy置为1,然后不断地循环测试busy:当busy=1时,表示尚未输入完一个字符,处理机应继续对该标志进行测试,直至busy=0说明已将数据送入控制存放器中。此时,处理机从DR中取走数据,送入内存指定单元中,便完成了一个字符的I/
32、O。2再去启动读下一个数据,并置busy=1。4/18/2023475.2 I/O控制方式控制方式 5.2.1 程序程序I/O方式方式 在程序I/O方式中,由于CPU的高速性和I/O设备的低速性,致使CPU的绝大局部时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费。在该方式中,CPU之所以要不断地测试I/O设备的状态,就是因为在CPU中无中断机构,使I/O设备无法向CPU报告它已完成了一个字符的输入操作。4/18/202348I/OI/O控制方式控制方式控制方式控制方式 q程序程序I/O方式方式q中断驱动中断驱动I/O方式方式q直接存储器访问直接存储器访问DMA I/
33、O控制方式控制方式qI/O通道控制方式通道控制方式4/18/202349中断驱动中断驱动中断驱动中断驱动I/OI/O方式方式方式方式q中断驱动中断驱动Interrupt Driven方式,即当某进方式,即当某进程要启动某个程要启动某个I/O设备工作时,便由设备工作时,便由CPU向相应向相应的设备控制器发出一条的设备控制器发出一条I/O命令,然后立即返回命令,然后立即返回继续执行原来的任务继续执行原来的任务q设备控制器按命令要求去控制指定的设备控制器按命令要求去控制指定的I/O设备,设备,完成后,通过中断向完成后,通过中断向CPU发送一中断信号发送一中断信号q在在I/O设备输入数据的过程中,无须
34、设备输入数据的过程中,无须CPU干预,干预,q每次传送一个字符每次传送一个字符4/18/202350中断驱动中断驱动中断驱动中断驱动I/OI/O方式方式方式方式向向I/O控制器控制器发读命令发读命令读读I/O控制器控制器的状态的状态检查检查状态?状态?从从I/O控制控制器中读字器中读字向内存向内存中写字中写字传送传送完成?完成?就绪就绪出错出错CPUI/OI/OCPUI/OCPUCPU内存内存下条指令下条指令完成完成未完未完中断中断CPU(b)中断驱动方式中断驱动方式做其它事做其它事优点:提高了优点:提高了CPUCPU的的利用率成百倍利用率成百倍缺点:每缺点:每I/OI/O一个数一个数据都要中
35、断一次据都要中断一次CPUCPU,在一次数据传送,在一次数据传送中断屡次,耗去大中断屡次,耗去大量量CPUCPU处理时间处理时间对I/O设备的控制,当某进程要启动某个I/O设备工作时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回继续执行原任务。设备控制器便按照该命令的要求去控制I/O设备。4/18/2023515.2.2 中断驱动中断驱动I/O控制方式控制方式 在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去做些中断处理。可见,这样可使CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资
36、源利用率及吞吐量。例如,从终端输入一个字符的时间约为100ms,而将字符送入终端缓冲区的时间小于0.1ms。假设采用程序I/O方式,CPU约有99.9ms的时间处于忙等待中。采用中断驱动方式后,CPU可利用这99.9ms的时间去做其它事情,而仅用0.1ms的时间来处理由控制器发来的中断请求。可见,中断驱动方式可以成百倍地提高CPU的利用率。4/18/202352I/OI/O控制方式控制方式控制方式控制方式 q程序程序I/O方式方式q中断驱动中断驱动I/O方式方式q直接存储器访问直接存储器访问DMA I/O控制方式控制方式qI/O通道控制方式通道控制方式4/18/202353DMADMA方式方式
37、方式方式q特点特点v数据传输的基本单位是数据块数据传输的基本单位是数据块v所传送的数据是从设备直接送入内存的,或者所传送的数据是从设备直接送入内存的,或者相反相反v仅在传送一个或多个数据块的开始和结束时才仅在传送一个或多个数据块的开始和结束时才需需CPU干预干预v除了具有中断机构外,还增加了除了具有中断机构外,还增加了DMA控制器控制器v数据传送方向、存放数据的内存地址及传送数数据传送方向、存放数据的内存地址及传送数据长度需据长度需CPU控制控制v每个设备需配置一个每个设备需配置一个DMA控制器控制器4/18/202354DMADMA方式方式方式方式向向I/O控制器控制器发布读块命令发布读块命
38、令CPUDMACPU做其它事做其它事读读DMA控制控制器的状态器的状态中断中断DMACPU下条指令下条指令(c)DMA方式方式4/18/202355DMADMA方式方式方式方式qDMA控制器的组成控制器的组成v主机与主机与DMA控制器的接口控制器的接口vDMA控制器与块设备的接口控制器与块设备的接口vI/O控制逻辑控制逻辑4/18/202356DMADMA方式方式方式方式qDMA控制器中四类存放器控制器中四类存放器v命令命令/状态存放器状态存放器CR接收接收CPU发送的发送的I/O命令或有关控制信息,或设备命令或有关控制信息,或设备状态状态v内存地址存放器内存地址存放器MAR输入时:数据存放到
39、内存的起始目标地址输入时:数据存放到内存的起始目标地址输出时:存放数据由内存到设备的内存源地址输出时:存放数据由内存到设备的内存源地址v数据存放器数据存放器DR暂存从设备到内存暂存从设备到内存/内存到设备的数据内存到设备的数据v数据计数器数据计数器DC存放本次存放本次CPU要读或写的字节数要读或写的字节数4/18/202357DMADMA方式方式方式方式qDMA控制器的组成控制器的组成v主机与主机与DMA控制器的接口控制器的接口vDMA控制器与块设备的接口控制器与块设备的接口vI/O控制逻辑控制逻辑4/18/2023583.DMA工作过程工作过程 1CPU从磁盘读入一个数据块时,向磁盘控制器发
40、送一条读命令。该命令被送到其中的命令存放器CR中;将发送数据的内存始址放到MAR中;要读的数据的字节数送入DC中,将磁盘中的源地址送到I/O控制逻辑上。2启动DMA控制器进行数据传送,此时CPU可去处理其他任务。整个数据传送过程由DMA控制器进行控制。4/18/2023593.DMA工作过程工作过程 DMA控制过程为:1当DMA控制器已从磁盘中读入一个字节的数据并送入数据存放器DR中,再挪用一个存储器周期,将该字节传送到MAR所指示的内存单元中。2对MAR加1,将DC内容减1,假设减1后,DC内容不为0,表示传送未完,便继续传送下一个字节;否则,由DMA控制器发出中断请求。4/18/20236
41、0DMADMA方式方式方式方式DMADMA方式的工作流程方式的工作流程方式的工作流程方式的工作流程设置设置MAR和和DC初值初值启动启动DMA传送命令传送命令挪用存储器周期传挪用存储器周期传送数据字送数据字存储器地址增存储器地址增1字计数寄存器减字计数寄存器减1DC0?请求中断请求中断在继续执行用户在继续执行用户程序的同时程序的同时,准准备又一次传送备又一次传送否否是是4/18/202361DMADMA4/18/202362DMADMA4/18/202363DMADMA4/18/202364DMADMA方式方式方式方式qDMA与中断方式的主要区别与中断方式的主要区别v中断方式在每个数据传送完后
42、中断中断方式在每个数据传送完后中断CPU,DMA方式则是在所要求传送的一批数据全部方式则是在所要求传送的一批数据全部传送完时中断传送完时中断CPUv中断方式的数据传送时在中断处理时由中断方式的数据传送时在中断处理时由CPU控控制完成的,而制完成的,而DMA则是在则是在DMA控制下完成的控制下完成的vDMA方式的局限性:传送方向、始址、长度方式的局限性:传送方向、始址、长度等由等由CPU控制,一个设备一个控制,一个设备一个DMA,成本高,成本高4/18/202365I/OI/O控制方式控制方式控制方式控制方式 q程序程序I/O方式方式q中断驱动中断驱动I/O方式方式q直接存储器访问直接存储器访问
43、DMA I/O控制方式控制方式qI/O通道控制方式通道控制方式4/18/202366I/OI/O通道控制方式通道控制方式通道控制方式通道控制方式qI/O通道控制方式的引入通道控制方式的引入 v与与DMA类似,是以内存为中心的数据交换方类似,是以内存为中心的数据交换方式式v进一步减少了进一步减少了CPU的干预,把对一个数据块的的干预,把对一个数据块的读或写为单位的干预,减少为对一组数据读或写为单位的干预,减少为对一组数据块的读或写及有关的控制和管理为单位的块的读或写及有关的控制和管理为单位的干预干预v一个通道控制多台设备一个通道控制多台设备vCPU仅在仅在I/O操作的开始和结束时花费少量时操作的
44、开始和结束时花费少量时间处理与间处理与I/O有关的工作有关的工作v可实现可实现CPU、通道和、通道和I/O设备三者的并行操作,设备三者的并行操作,从而更有效地提高整个系统的资源利用率从而更有效地提高整个系统的资源利用率4/18/202367I/OI/O通道控制方式通道控制方式通道控制方式通道控制方式q通道程序通道程序v操作码操作码规定指令所执行的操作,如读、写、控制等规定指令所执行的操作,如读、写、控制等v内存地址内存地址标明字符送入内存或从内存取出的内存首址标明字符送入内存或从内存取出的内存首址v计数计数本条指令所要读本条指令所要读/写的字节数写的字节数v通道程序结束位通道程序结束位表示通道
45、程序是否结束,表示通道程序是否结束,P=1表示结束表示结束v记录结束标志记录结束标志R=0,表示本指令与下一指令处理同一个记录,表示本指令与下一指令处理同一个记录R=1,表示处理某记录的最后一条指令,表示处理某记录的最后一条指令4/18/202368I/OI/O通道控制方式通道控制方式通道控制方式通道控制方式操作操作 PR计数计数内存地址内存地址WRITE 0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE112507204/18/2023693.“瓶颈问题瓶颈问题 通道价格昂贵,通道数量势必较少,往往使它成为I/O的瓶颈,进而造成整个系统吞吐量的下降。4/18/2023703.“瓶颈问题瓶颈问题 图5-4单通路I/O系统4/18/2023713.“瓶颈问题瓶颈问题 解决瓶颈问题的最有效的方法,便是增加设备到主机间的通路,而不增加通道,如图5-5所示。就是把一个设备连接到多个控制器上;而一个控制器又连接到多个通道上。4/18/202372图5-5多通路I/O系统4/18/202373第五章第五章第五章第五章 设备管理设备管理设备管理设备管理qI/O系统系统 qI/O控制方式控制方式 q缓冲管理缓冲管理 q设备分配设备分配q设备处理设备处理q磁盘存储器管理磁盘存储器管理4/18/202374
限制150内