设备管理培训课件(共155页).ppt_第1页
设备管理培训课件(共155页).ppt_第2页
设备管理培训课件(共155页).ppt_第3页
设备管理培训课件(共155页).ppt_第4页
设备管理培训课件(共155页).ppt_第5页
已阅读5页,还剩150页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-2-272022-2-271 1操作系统操作系统2022-2-272022-2-272 2内容概内容概述述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系统包括用系统包括用于实现数据输入、输出、存储功能的设备和相应的控制器于实现数据输入、输出、存储功能的设备和相应的控制器,设设备管理的根本任务是完成用户提出的备管理的根本任务是

2、完成用户提出的I/O请求请求,提高提高I/O速率以速率以及改善及改善I/O的利用率。设备管理的主要功能有缓冲区管理、设的利用率。设备管理的主要功能有缓冲区管理、设备分配、设备处理、虚拟设备及实现设备独立性。备分配、设备处理、虚拟设备及实现设备独立性。2022-2-272022-2-273 35.1.1 I/O5.1.1 I/O设备设备5.1.2 5.1.2 设备控制器设备控制器5.1.3 I/O5.1.3 I/O通道通道5.1.4 5.1.4 总线系统总线系统2022-2-272022-2-274 45.1.1 I/O5.1.1 I/O设备设备1.I/O1.I/O设备的类型设备的类型 (1)(

3、1)按按传输速率传输速率分类分类低速设备低速设备 每秒几个字节至数百字节每秒几个字节至数百字节键盘、鼠标、语音输入输出设备等键盘、鼠标、语音输入输出设备等中速设备中速设备每秒数千至数万字节每秒数千至数万字节行式打印机、激光打印机等行式打印机、激光打印机等高速设备高速设备每秒数百每秒数百K K至数十至数十M M字节字节磁盘机、磁带机、光盘机等磁盘机、磁带机、光盘机等2022-2-272022-2-275 5(2)(2)按信息交换的单位分类按信息交换的单位分类块设备块设备(Block Device)(Block Device)信息的存取总是以数据块为单位信息的存取总是以数据块为单位根本特征是其传输

4、速率较高根本特征是其传输速率较高, ,通常每秒钟为几兆位通常每秒钟为几兆位可寻址可寻址, ,即对它可随机地读即对它可随机地读/ /写任一块写任一块属于有结构设备属于有结构设备磁盘的磁盘的I/OI/O常采用常采用DMADMA方式方式, ,每个盘块的大小为每个盘块的大小为512B4KB512B4KB字符设备字符设备(Character Device)(Character Device)根本单位是字符根本单位是字符根本特征是其传输速率较低根本特征是其传输速率较低, ,通常每秒钟为几个字节到数千通常每秒钟为几个字节到数千字节字节不可寻址不可寻址属于无结构设备属于无结构设备通常采用中断驱动方式通常采用中

5、断驱动方式例例: :交互式终端、打印机交互式终端、打印机2022-2-272022-2-276 6(3)(3)按设备的共享属性分类按设备的共享属性分类独占设备独占设备( (临界资源临界资源 ) )如打印机如打印机共享设备共享设备 可供多个进程同时访问可供多个进程同时访问, ,如磁盘如磁盘共享设备必须是可寻址的和可随机访问的设备。共享设备必须是可寻址的和可随机访问的设备。虚拟设备虚拟设备通过虚拟技术将一台独占设备变换为假设干个逻通过虚拟技术将一台独占设备变换为假设干个逻辑设备辑设备, ,供假设干个进程同时使用供假设干个进程同时使用2022-2-272022-2-277 7(4)(4)按按操作操作

6、( (使用使用) )特性特性分类分类存储设备存储设备: :用来存放各种信息的设备称为存用来存放各种信息的设备称为存储设备储设备例软盘、例软盘、磁磁盘、光盘和磁带等盘、光盘和磁带等I/OI/O设备设备: :用来向计算机输入和输出信息的设用来向计算机输入和输出信息的设备备如如键盘、鼠标、显示器、打印机键盘、鼠标、显示器、打印机在现代计算机系统中有些设备既可以做存储在现代计算机系统中有些设备既可以做存储设备设备, ,也可以做也可以做I/OI/O设备设备, ,例如例如, ,软盘、硬盘等。软盘、硬盘等。2022-2-272022-2-278 8图图5-1 5-1 设备与控制器间的接口设备与控制器间的接口

7、 2.2.设备与设备控制器之间的接口设备与设备控制器之间的接口数据信号线数据信号线用于在设备和设备控制器之间传送数据信号用于在设备和设备控制器之间传送数据信号控制信号线控制信号线作为由设备控制器向作为由设备控制器向I/OI/O设备发送控制信号时的通路设备发送控制信号时的通路状态信号线状态信号线用于传送指示设备当前状态的信号用于传送指示设备当前状态的信号缓冲缓冲转换器转换器控制逻辑控制逻辑信号信号数据数据数据信号线数据信号线状态信号线状态信号线控制信号线控制信号线至设备至设备控制器控制器I/O设备设备2022-2-272022-2-279 95.1.1 I/O5.1.1 I/O设备设备5.1.2

8、 5.1.2 设备控制器设备控制器5.1.3 I/O5.1.3 I/O通道通道5.1.4 5.1.4 总线系统总线系统2022-2-272022-2-2710105.1.2 5.1.2 设备控制器设备控制器设备控制器是设备控制器是CPUCPU与与I/OI/O设备之间的接口设备之间的接口, ,常做成印刷电常做成印刷电路卡形式路卡形式, ,也称接口卡。也称接口卡。 接收接收CPUCPU发来的命令发来的命令, ,控制一个或多个控制一个或多个I/OI/O设备设备, ,以实现以实现I/OI/O设备和计算机之间的数据交换设备和计算机之间的数据交换, ,减轻减轻CPUCPU的负担的负担1.1.设备控制器的根

9、本功能设备控制器的根本功能(1)(1)接收和识别命令接收和识别命令 (2)(2)数据交换数据交换 (3)(3)标识和报告设备的状态标识和报告设备的状态 (4)(4)地址识别地址识别 (5)(5)数据缓冲数据缓冲 (6)(6)过失控制过失控制 2022-2-272022-2-2711112.2.设备控制器的组成设备控制器的组成设备控制器与处理机的接口设备控制器与处理机的接口 该接口用于实现设备控制器与该接口用于实现设备控制器与CPUCPU之间的通信。在之间的通信。在该接口中有三类信号线该接口中有三类信号线: :数据线数据线、地址线地址线、控制线控制线。设备控制器与设备的接口设备控制器与设备的接口

10、 在一个设备控制器上在一个设备控制器上, ,可以连接一台或多台设备。可以连接一台或多台设备。相应地相应地, ,在控制器中就有一个或多个设备接口在控制器中就有一个或多个设备接口, ,一个接一个接口连接一台设备口连接一台设备, ,在每个接口中都有数据、控制和状态在每个接口中都有数据、控制和状态三种类型的信号。三种类型的信号。 I/OI/O逻辑逻辑 控制器对设备的控制通过控制器对设备的控制通过I/OI/O逻辑实现的。包括对逻辑实现的。包括对收到收到命令命令和和地址地址进行进行译码译码。2022-2-272022-2-271212图图5-2 5-2 设备控制器的组成设备控制器的组成 数据寄存器数据寄存

11、器控制/状态控制/状态寄存器寄存器数据线数据线I/O逻辑逻辑控制器控制器与设备与设备接口1接口1控制器控制器与设备与设备接口接口i数据数据状态状态控制控制数据数据状态状态控制控制地址线地址线控制线控制线CPU与控制器接口与控制器接口控制器与设备接口控制器与设备接口2022-2-272022-2-2713135.1.1 I/O5.1.1 I/O设备设备5.1.2 5.1.2 设备控制器设备控制器5.1.3 I/O5.1.3 I/O通道通道5.1.4 5.1.4 总线系统总线系统2022-2-272022-2-2714145.1.3 I/O5.1.3 I/O通道通道 1.1.I/OI/O通道通道(

12、I/O Channel)(I/O Channel)设备的引入设备的引入是一种是一种特殊处理机特殊处理机, ,专门负责输入专门负责输入/ /输出工作输出工作有自己简单的指令系统有自己简单的指令系统, ,只有数据传送指令和设备控制只有数据传送指令和设备控制指令指令主要主要目的目的是为了建立独立的是为了建立独立的I/OI/O操作操作, ,使有关对使有关对I/OI/O操作操作的组织、管理及其结束处理也独立于的组织、管理及其结束处理也独立于CPUCPUCPUCPU向向I/OI/O通道发送通道发送I/OI/O命令命令, ,由通道执行程序由通道执行程序通道与一般处理机的通道与一般处理机的区别区别指令类型单一

13、指令类型单一, ,局限于与局限于与I/OI/O操作有关命令。操作有关命令。没有独立的内存没有独立的内存, ,通道与通道与CPUCPU共享内存。共享内存。2022-2-272022-2-271515图图5-3 5-3 字节多路通道的工作原理字节多路通道的工作原理 2.2.通道类型通道类型(1)(1)字节多路通道字节多路通道(Byte Multiplexor Channel)(Byte Multiplexor Channel)一个主通道连接多个子通道一个主通道连接多个子通道, ,以以时间片轮转时间片轮转方式共方式共享主通道享主通道每个子通道每次只传送每个子通道每次只传送一个字节一个字节, ,连接连

14、接中低速中低速设备设备控控制制器器A控控制制器器B控控制制器器C控控制制器器D控控制制器器NA1A2A3子子通通道道AB1B2B3子子通通道道BC1C2C3子子通通道道CN1N2N3子子通通道道NA1B1C1A2B2C2设备2022-2-272022-2-271616(2)(2)数组选择通道数组选择通道(Block Selector Channel)(Block Selector Channel)由于由于(1)不适合高速设备不适合高速设备以以数组方式数组方式工作工作,高速传输数据高速传输数据可以连接多台高速设备可以连接多台高速设备每次只有一台设备进行数据传送每次只有一台设备进行数据传送,形成形

15、成独占独占,如果它不传数据如果它不传数据,别的设备也传不了。通道别的设备也传不了。通道利用率较低。利用率较低。2022-2-272022-2-271717(3)(3)数组多路通道数组多路通道(Block Multiplexor Channel)(Block Multiplexor Channel)由于由于(2)有独占性有独占性将将数组选择通道数组选择通道传输速率高和传输速率高和字节多路通道字节多路通道分时并行操作的优点相分时并行操作的优点相结合结合而形成的一种新而形成的一种新通道通道其数据传送是按其数据传送是按数组方式数组方式。采用采用分时分时传送多个非分配型子通道传送多个非分配型子通道, 因

16、而这因而这种通道既具有很高的种通道既具有很高的数据传输速率数据传输速率,又能获又能获得令人满意的得令人满意的通道利用率通道利用率2022-2-272022-2-2718183.“3.“瓶颈问题瓶颈问题 图图5-4 5-4 单通路单通路I/OI/O系统系统 2022-2-272022-2-271919图图5-5 5-5 多通路多通路I/OI/O系统系统 2022-2-272022-2-2720205.1.1 I/O5.1.1 I/O设备设备5.1.2 5.1.2 设备控制器设备控制器5.1.3 I/O5.1.3 I/O通道通道5.1.4 5.1.4 总线系统总线系统2022-2-272022-2

17、-2721215.1.4 5.1.4 总线系统总线系统 图图5-6 5-6 总线型总线型I/OI/O系统结构系统结构 在计算机系统中的各部件在计算机系统中的各部件, ,如如CPUCPU、存储器以及各种、存储器以及各种I/OI/O设备之间都是通过总线来联系设备之间都是通过总线来联系CPU存存储储器器磁磁盘盘控控制制器器打打印印机机控控制制器器其其它它控控制制器器磁磁盘盘驱驱动动器器打打印印机机系系统统总总线线2022-2-272022-2-2722221. ISA1. ISA和和EISAEISA总线总线 1) ISA(Industry Standard Architecture)1) ISA(I

18、ndustry Standard Architecture)总线总线 这是为了这是为了19841984年推出的年推出的8028680286型微机而设计的总线结构。型微机而设计的总线结构。 其总线的带宽为其总线的带宽为8 8位位, ,最高传输速率为最高传输速率为2Mb/s2Mb/s。之后不久又推出。之后不久又推出了了1616位的位的(EISA)(EISA)总线总线, ,其最高传输速率为其最高传输速率为8Mb/s,8Mb/s,后又升至后又升至16 16 Mb/s,Mb/s,能连接能连接1212台设备。台设备。 2) EISA(Extended ISA)2) EISA(Extended ISA)总线

19、总线 到到8080年代末期年代末期,ISA,ISA总线已难于满足带宽和传输速率的要总线已难于满足带宽和传输速率的要求求, ,于是人们又开发出扩展于是人们又开发出扩展ISA(EISA)ISA(EISA)总线总线, ,其带宽为其带宽为3232位位, ,总总线的传输速率高达线的传输速率高达32Mb/s,32Mb/s,同样可以连接同样可以连接1212台外部设备。台外部设备。 2022-2-272022-2-2723232.2.局部总线局部总线(Local Bus)(Local Bus) 局部总线局部总线是指将多媒体卡、高速网卡、高性能图形板是指将多媒体卡、高速网卡、高性能图形板等从等从ISAISA总线

20、上卸下来总线上卸下来, ,再通过局部总线控制器直接接再通过局部总线控制器直接接到到CPUCPU总线上总线上 VESA(Video Electronic Standard Association)VESA(Video Electronic Standard Association)总总线线 PCI(Peripheral Component Interface)PCI(Peripheral Component Interface)总线总线 2022-2-272022-2-272424内容概述内容概述5.1 I/O5.1 I/O系统系统 5.2 I/O5.2 I/O控制方式控制方式 5.3 5.3

21、缓冲管理缓冲管理 5.4 5.4 设备分配设备分配 5.5 5.5 设备处理设备处理 5.6 5.6 磁盘存储器管理磁盘存储器管理 2022-2-272022-2-2725255.2.1 5.2.1 程序程序I/OI/O方式方式5.2.2 5.2.2 中断驱动中断驱动I/OI/O方式方式5.2.3 5.2.3 直接存储器访问直接存储器访问DMA I/ODMA I/O控制方式控制方式5.2.4 I/O5.2.4 I/O通道控制方式通道控制方式 设备管理的主要任务之一是支持计算机与各种外部设备交换设备管理的主要任务之一是支持计算机与各种外部设备交换信息。它通过内存与外部设备间的数据传输实现。内存与

22、外设的信息。它通过内存与外部设备间的数据传输实现。内存与外设的控制方式主要有四种控制方式主要有四种: :程序程序I/OI/O方式、中断驱动方式、中断驱动I/OI/O方式、直接存方式、直接存储访问储访问DMA I/ODMA I/O控制方式和控制方式和I/OI/O通道控制方式通道控制方式。2022-2-272022-2-2726265.2.1 5.2.1 程序程序I/OI/O方式方式 程序程序I/OI/O控制方式也称为控制方式也称为“忙忙等待方式等待方式, ,即在一个设备即在一个设备的操作没有完成时的操作没有完成时, ,控制程序一直检测设备的状态控制程序一直检测设备的状态, ,直到该直到该操作完成

23、操作完成, ,才能进行下一个操作。才能进行下一个操作。 CPUCPU通过通过I/OI/O测试指令测试设备接口中的状态位测试指令测试设备接口中的状态位, ,当为当为“忙忙时那么一直测试时那么一直测试, ,当为当为“闲时闲时, ,可进行数据传送可进行数据传送, ,每次每次传送一个字符传送一个字符 CPUCPU的绝大局部时间都处于等待的绝大局部时间都处于等待I/OI/O设备完成数据设备完成数据I/OI/O的循的循环测试中环测试中 外设不能合理使用外设不能合理使用, ,也无法支持多道程序也无法支持多道程序2022-2-272022-2-272727程序直接控制方式的步骤程序直接控制方式的步骤 当用户需

24、要输入数据时当用户需要输入数据时, ,由处理机向设备控由处理机向设备控制器发出一条制器发出一条I/OI/O指令指令, ,启动设备进行输入。启动设备进行输入。在设备输入数据期间在设备输入数据期间, ,处理机通过循环执行处理机通过循环执行测试指令不间断地检测设备状态存放器的值测试指令不间断地检测设备状态存放器的值, ,当状态存放器的值显示设备输入完成时当状态存放器的值显示设备输入完成时, ,处处理机将数据存放器中的数据取出理机将数据存放器中的数据取出, ,送入内存送入内存指定的存储单元指定的存储单元, ,然后再启动设备去读取下然后再启动设备去读取下一个数据。一个数据。当用户进程需要向设备输出数据时

25、当用户进程需要向设备输出数据时, ,也必须也必须同样发出启动命令启动设备输出同样发出启动命令启动设备输出, ,并等待输并等待输出操作完成。出操作完成。2022-2-272022-2-272828图图5-7 5-7 程序程序I/OI/O方式的流程方式的流程 2022-2-272022-2-272929程序直接控制方式的特点程序直接控制方式的特点 由于由于CPUCPU的速度远远高于的速度远远高于I/OI/O设备的速度设备的速度, ,工作过程简单工作过程简单,CPU,CPU等待时间过多等待时间过多, ,利用率太利用率太低低, ,有有“忙忙等待等待 现象。现象。2022-2-272022-2-2730

26、305.2.1 5.2.1 程序程序I/OI/O方式方式5.2.2 5.2.2 中断驱动中断驱动I/OI/O方式方式5.2.3 5.2.3 直接存储器访问直接存储器访问DMA I/ODMA I/O控制方式控制方式5.2.4 I/O5.2.4 I/O通道控制方式通道控制方式2022-2-272022-2-2731315.2.2 5.2.2 中断驱动中断驱动I/OI/O控制方式控制方式 中断中断是指计算机在执行期间是指计算机在执行期间, ,系统内发生任何非寻常的或系统内发生任何非寻常的或非预期的急需处理事件非预期的急需处理事件, ,使得使得CPUCPU暂时中断当前正在执行的暂时中断当前正在执行的程

27、序而转去执行相应的事件处理程序程序而转去执行相应的事件处理程序, ,待处理完毕后又返待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。回原来被中断处继续执行或调度新的进程执行的过程。 中断驱动中断驱动(Interrupt Driven)(Interrupt Driven)方式方式, ,即当某进程要启动某即当某进程要启动某个个I/OI/O设备工作时设备工作时, ,便由便由CPUCPU向相应的设备控制器发出一条向相应的设备控制器发出一条I/OI/O命令命令, ,然后立即返回继续执行原来的任务然后立即返回继续执行原来的任务 设备控制器按命令要求去控制指定的设备控制器按命令要求去控制指定

28、的I/OI/O设备设备, ,完成后完成后, ,通通过中断向过中断向CPUCPU发送一中断信号发送一中断信号 在在I/OI/O设备输入数据的过程中设备输入数据的过程中, ,无须无须CPUCPU干预干预, , 每次传送每次传送一个字符一个字符2022-2-272022-2-273232在在I/OI/O中断方式下中断方式下, ,数据的输入数据的输入( (或输出或输出) )步骤如下步骤如下: :1 1、要求输入数据的进程把一个启动命令和允许中断位、要求输入数据的进程把一个启动命令和允许中断位“1“1写写入相应设备的控制状态存放器中入相应设备的控制状态存放器中, ,从而启动了该设备从而启动了该设备; ;

29、2 2、该进程因等待输入的完成进入睡眠状态。、该进程因等待输入的完成进入睡眠状态。3 3、当输入完成后、当输入完成后, ,输入设备向输入设备向CPUCPU发出完成中断请求信号发出完成中断请求信号; ;4 4、处理机响应中断、处理机响应中断, ,处理该中断处理该中断, ,并唤醒等待输入完成的进程并唤醒等待输入完成的进程; ;5 5、在以后的某个时期、在以后的某个时期, ,该程序被调度到后该程序被调度到后, ,继续运行。继续运行。2022-2-272022-2-273333图图5-7 5-7 中断驱动方式的流程中断驱动方式的流程 2022-2-272022-2-273434中断控制方式的特点中断控

30、制方式的特点中断控制方式比程序直接控制方式提高了中断控制方式比程序直接控制方式提高了CPUCPU的利用的利用率。率。每输入输出一个数据都发生中断每输入输出一个数据都发生中断, ,传输一次数据需要传输一次数据需要屡次中断屡次中断, ,浪费了浪费了CPUCPU的处理时间。的处理时间。I/OI/O以字节为单位以字节为单位CPUCPU与与I/OI/O设备并行操作。设备并行操作。2022-2-272022-2-2735355.2.1 5.2.1 程序程序I/OI/O方式方式5.2.2 5.2.2 中断驱动中断驱动I/OI/O方式方式5.2.3 5.2.3 直接存储器访问直接存储器访问DMA I/ODMA

31、 I/O控制方式控制方式5.2.4 I/O5.2.4 I/O通道控制方式通道控制方式2022-2-272022-2-2736365.2.3 5.2.3 直接存储器访问直接存储器访问DMA I/ODMA I/O控制方式控制方式 1.DMA(Direct Memory Access)1.DMA(Direct Memory Access)控制方式的引入控制方式的引入 中断驱动中断驱动I/OI/O是以字节为单位的。每完成一个字节是以字节为单位的。每完成一个字节的的I/O,I/O,控制器便向控制器便向CPUCPU发一中断发一中断, ,请求请求CPUCPU中断处理。例中断处理。例如如, ,为了从磁盘中读出

32、为了从磁盘中读出1KB1KB的数据块的数据块, ,需要中断需要中断1K1K次次CPUCPU。直接存储器存取控制方式的概念直接存储器存取控制方式的概念 是指对是指对I/OI/O设备的控制由设备的控制由DMADMA控制器完成控制器完成, ,在在DMADMA控制控制器的作用下器的作用下, ,设备和主存之间可以成批地进行数据交换设备和主存之间可以成批地进行数据交换, ,而不用而不用CPUCPU的干预。的干预。2022-2-272022-2-273737图图5-8 DMA5-8 DMA控制器的组成控制器的组成 2.2.DMA控制器的组成控制器的组成主机与主机与DMA控制器的接口控制器的接口DMA控制器与

33、块设备的接口控制器与块设备的接口I/O控制逻辑控制逻辑2022-2-272022-2-273838 为了实现在主机与控制器之间成块数据的直接交换为了实现在主机与控制器之间成块数据的直接交换, , 必必须在须在DMADMA控制器中设置如下四类存放器控制器中设置如下四类存放器: : (1) (1)命令命令/ /状态存放器状态存放器CRCR。用于接收从。用于接收从CPUCPU发来的发来的I/OI/O命令命令或有关控制信息或有关控制信息, ,或设备的状态。或设备的状态。 (2) (2)内存地址存放器内存地址存放器MARMAR。在输入时。在输入时, ,它存放把数据从设它存放把数据从设备传送到内存的起始目

34、标地址备传送到内存的起始目标地址; ;在输出时在输出时, ,它存放由内存到设它存放由内存到设备的内存源地址。备的内存源地址。 (3) (3)数据存放器数据存放器DRDR。用于暂存从设备到内存。用于暂存从设备到内存, ,或从内存到或从内存到设备的数据。设备的数据。 (4) (4)数据计数器数据计数器DCDC。存放本次。存放本次CPUCPU要读或写的字要读或写的字( (节节) )数。数。 2022-2-272022-2-273939直接存储器存取控制方式的步骤直接存储器存取控制方式的步骤当进程要求设备输入一批数据时当进程要求设备输入一批数据时,CPU,CPU将设备存放输入数将设备存放输入数据的内存

35、始址以及要传送的字节数分别送入据的内存始址以及要传送的字节数分别送入DMADMA控制器控制器中的地址存放器和传送字节计数器中的地址存放器和传送字节计数器; ;另外另外, ,还要将中断位还要将中断位和启动位置为和启动位置为1,1,以启动设备开始进行数据输入并允许中以启动设备开始进行数据输入并允许中断。断。发出数据要求的进程进入等待状态发出数据要求的进程进入等待状态, ,进程调度程序调度进程调度程序调度其他进程占据其他进程占据CPUCPU。输入设备不断地挪用输入设备不断地挪用CPUCPU工作周期工作周期, ,将数据存放器中的数将数据存放器中的数据源源不断地写入内存据源源不断地写入内存, ,直到所要

36、求的字节全部传送完直到所要求的字节全部传送完毕。毕。DMADMA控制器在传送字节数完成时控制器在传送字节数完成时, ,通过中断请求线发出中通过中断请求线发出中断信号断信号,CPU,CPU收到中断信号后转中断处理程序收到中断信号后转中断处理程序, ,唤醒等待唤醒等待输入完成的进程输入完成的进程, ,并返回被中断的程序。并返回被中断的程序。在以后的某个时刻在以后的某个时刻, ,进程调度程序选中提出请求输入的进程调度程序选中提出请求输入的进程进程, ,该进程从指定的内存始址取出数据做进一步处理。该进程从指定的内存始址取出数据做进一步处理。2022-2-272022-2-274040图图5-7 DMA

37、5-7 DMA方式的流程方式的流程 2022-2-272022-2-2741413.DMA3.DMA工作过程工作过程 图图5-9 DMA5-9 DMA方式的工作流程方式的工作流程 2022-2-272022-2-274242特点特点(1)(1)数据传输的根本单位是数据块数据传输的根本单位是数据块( (连续连续) )(2)(2)大大减少中断次数大大减少中断次数(3)(3)所传送的数据是从设备直接送入内存的所传送的数据是从设备直接送入内存的, ,或者相反或者相反(4)(4)仅在传送一个或多个数据块的开始和结束时才需仅在传送一个或多个数据块的开始和结束时才需CPUCPU干预干预, ,整块数据的传送是

38、在整块数据的传送是在DMADMA控制器控制下完成的。控制器控制下完成的。(5)I/O(5)I/O数据传输速度快数据传输速度快,CPU,CPU负担少。负担少。(6)(6)在在DMADMA方式下方式下, ,数据的传送方向、存放数据的内存始址及数据的传送方向、存放数据的内存始址及传送数据的长度等都由传送数据的长度等都由CPUCPU控制。每台设备需要配一个控制。每台设备需要配一个DMADMA控制器。控制器。2022-2-272022-2-2743435.2.1 5.2.1 程序程序I/OI/O方式方式5.2.2 5.2.2 中断驱动中断驱动I/OI/O方式方式5.2.3 5.2.3 直接存储器访问直接

39、存储器访问DMA I/ODMA I/O控制方式控制方式5.2.4 I/O5.2.4 I/O通道控制方式通道控制方式2022-2-272022-2-2744445.2.4 I/O5.2.4 I/O通道控制方式通道控制方式 通道控制方式的通道控制方式的概念概念 是一种以内存为中心是一种以内存为中心, ,是设备与内存直接交换数据是设备与内存直接交换数据的控制方式。的控制方式。CPUCPU只需要发出启动指令只需要发出启动指令, ,指出通道相应的指出通道相应的操作和操作和I/OI/O设备设备, ,该指令就可以启动通道并使该通道从内该指令就可以启动通道并使该通道从内存中调出相应的通道指令执行。存中调出相应

40、的通道指令执行。 2022-2-272022-2-2745451.I/O1.I/O通道控制方式的引入通道控制方式的引入 与与DMA类似类似,是以内存为中心的数据交换方式是以内存为中心的数据交换方式它可进一步减少它可进一步减少CPU的干预的干预,即把对即把对一个一个数据块的读数据块的读(或或写写)为单位的干预为单位的干预,减少为对减少为对一组一组数据块的读数据块的读(或写或写)及有及有关的控制和管理为单位的干预关的控制和管理为单位的干预一个通道控制多台设备一个通道控制多台设备CPU仅在仅在I/O操作的开始和结束时花费少量时间处理与操作的开始和结束时花费少量时间处理与I/O有关的工作有关的工作可实

41、现可实现CPU、通道和、通道和I/O设备三者的并行操作设备三者的并行操作,从而更有从而更有效地提高整个系统的资源利用率效地提高整个系统的资源利用率2022-2-272022-2-274646通道控制方式的步骤通道控制方式的步骤 当进程要求输入数据时当进程要求输入数据时,CPU,CPU发启动指令指明发启动指令指明I/OI/O操作、设操作、设备号和对应通道。备号和对应通道。对应通道接收到对应通道接收到CPUCPU发来的启动指令后发来的启动指令后, ,把存放在内存中把存放在内存中的通道指令程序读出的通道指令程序读出, ,并执行通道程序并执行通道程序, ,控制设备将数据控制设备将数据传送到内存中指定的

42、区域。传送到内存中指定的区域。假设数据传输结束假设数据传输结束, ,那么向那么向CPUCPU发出中断请求。发出中断请求。CPUCPU收到中收到中断信号后转中断处理程序断信号后转中断处理程序, ,唤醒等待输入完成的进程唤醒等待输入完成的进程, ,并并返回被中断的程序。返回被中断的程序。在以后的某个时刻在以后的某个时刻, ,进程调度程序选中提出请求输入的进进程调度程序选中提出请求输入的进程程, ,该进程从指定的内存始址取出数据做进一步处理。该进程从指定的内存始址取出数据做进一步处理。 2022-2-272022-2-274747图图 通道的工作流程通道的工作流程 2022-2-272022-2-2

43、74848数组选择通道数组选择通道2022-2-272022-2-274949通道控制方式通道控制方式特点特点: :I/OI/O通道是一种特殊的通道是一种特殊的处理器处理器, ,它具有执行它具有执行I/OI/O操作指令的能操作指令的能力。力。I/OI/O通道通过执行通道通道通过执行通道(I/O)(I/O)程序来控制程序来控制I/OI/O操作操作, ,完成完成I/OI/O任任务。务。通道程序是放在通道程序是放在内存内存中的中的, ,即通道与即通道与CPUCPU共享内存。共享内存。CPUCPU、通道、通道、I/OI/O设备三者设备三者并行并行工作。工作。能传送能传送多个多个数据块。数据块。2022

44、-2-272022-2-2750502.2.通道程序通道程序(1)(1)操作码操作码规定指令所执行的操作规定指令所执行的操作, ,如读、写、控制等如读、写、控制等(2)(2)内存地址内存地址标明字符送入内存或从内存取出的内存首址标明字符送入内存或从内存取出的内存首址(3)(3)计数计数本条指令所要读本条指令所要读/ /写的字节数写的字节数(4)(4)通道程序结束位通道程序结束位表示通道程序是否结束表示通道程序是否结束,P=1,P=1表示结束表示结束(5)(5)记录结束标志记录结束标志R=R=0 0, ,表示本指令与下一指令处理同一个记录表示本指令与下一指令处理同一个记录;R=;R=1 1表表示

45、处理某记录的最后一条指令示处理某记录的最后一条指令2022-2-272022-2-275151操作操作 P PR R计数计数内存地址内存地址WRITE WRITE 0 00 08080813813WRITEWRITE0 00 014014010341034WRITEWRITE0 01 1606058305830WRITEWRITE0 01 130030020002000WRITEWRITE0 00 025025018501850WRITEWRITE1 11 1250250720720写成一写成一条纪录条纪录写成一写成一条纪录条纪录写成一写成一条纪录条纪录通道程序是否通道程序是否结束结束,P=1

46、表示表示结束结束与下一指令处理与下一指令处理是否同一个记录是否同一个记录2022-2-272022-2-275252内容概述内容概述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 磁盘存储器管理磁盘存储器管理 2022-2-272022-2-2753535.3.1 5.3.1 缓冲的引入缓冲的引入5.3.2 5.3.2 单缓冲和双缓冲单缓冲和双缓冲5.3.3 5.3.3 循环缓冲循环缓冲5.3.4 5.3.4 缓冲池缓冲池(Buffer Po

47、ol)(Buffer Pool)2022-2-272022-2-2754545.3.1 5.3.1 缓冲的引入缓冲的引入(1)(1)缓和缓和CPUCPU与与I/OI/O设备间速度不匹配的矛盾。设备间速度不匹配的矛盾。 (2)(2)减少对减少对CPUCPU的中断频率的中断频率, ,放宽对放宽对CPUCPU中断响应时间中断响应时间的限制。的限制。 (3)(3)提高提高CPUCPU和和I/OI/O设备之间的并行性。设备之间的并行性。(4(4解决数据粒度不匹配的问题。解决数据粒度不匹配的问题。 2022-2-272022-2-275555图图5-10 5-10 利用缓冲存放器实现缓冲利用缓冲存放器实现

48、缓冲 2022-2-272022-2-275656对缓冲区的理解对缓冲区的理解 缓冲是提高缓冲是提高CPUCPU与外设并行程度的一种技术。与外设并行程度的一种技术。但凡数据来到速度和离去速度不同的地方都可以使用但凡数据来到速度和离去速度不同的地方都可以使用缓冲区。如缓冲区。如CPUCPU与内存之间有高速缓存与内存之间有高速缓存(Cache Memory),(Cache Memory),主存与显示器之间有显示缓存主存与显示器之间有显示缓存, ,主存与打印机之间有打主存与打印机之间有打印缓存等等。印缓存等等。缓冲的实现方式有两种缓冲的实现方式有两种: :一是一是, ,采用硬件缓冲器实现采用硬件缓冲

49、器实现; ;二二是是, ,在内存划出一块区域在内存划出一块区域, ,专门用来存放临时输入输出专门用来存放临时输入输出的数据的数据, ,这个区域称为缓冲区。这个区域称为缓冲区。根据系统设置缓冲区的个数根据系统设置缓冲区的个数, ,将缓冲技术分为将缓冲技术分为: :单缓冲、单缓冲、双缓冲、循环缓冲、缓冲池。双缓冲、循环缓冲、缓冲池。 2022-2-272022-2-2757575.3.1 5.3.1 缓冲的引入缓冲的引入5.3.2 5.3.2 单缓冲和双缓冲单缓冲和双缓冲5.3.3 5.3.3 循环缓冲循环缓冲5.3.4 5.3.4 缓冲池缓冲池(Buffer Pool)(Buffer Pool)

50、2022-2-272022-2-2758585.3.2 5.3.2 单缓冲和双缓冲单缓冲和双缓冲 1.1.单缓冲单缓冲(Single Buffer) (Single Buffer) 图图5-11 5-11 单缓冲工作示意图单缓冲工作示意图 工作区工作区处理处理(C)缓冲区缓冲区传送传送(M)输入输入(T)I/O设备设备(a)T1M1C1T2M2C2T3M3C3T4t(b)用户进程用户进程串行串行2022-2-272022-2-2759592.2.双缓冲双缓冲(Double Buffer) (Double Buffer) 图图5-12 5-12 双缓冲工作示意图双缓冲工作示意图 工作区工作区用户

51、进程用户进程缓冲区缓冲区1缓冲区缓冲区2I/O 设备设备T1(缓冲1)M1C1M2C2M3C3T2(缓冲2)T3(缓冲3)M4C4T4(缓冲4)(a)(b)并行并行2022-2-272022-2-276060图图5-13 5-13 双机通信时缓冲区的设置双机通信时缓冲区的设置 实现了双向实现了双向数据传输数据传输缓缓冲冲区区缓缓冲冲区区A机机B机机(a) 单单缓缓冲冲发发送送缓缓冲冲区区接接收收缓缓冲冲区区接接收收缓缓冲冲区区发发送送缓缓冲冲区区A机机B机机(b) 双双缓缓冲冲只能实现单向只能实现单向的数据传输的数据传输为了实现双向数据传输,必须在两台机器中都设置两个缓冲区,一个用作发送缓冲区

52、,另一个用作接收缓冲区。2022-2-272022-2-2761615.3.1 5.3.1 缓冲的引入缓冲的引入5.3.2 5.3.2 单缓冲和双缓冲单缓冲和双缓冲5.3.3 5.3.3 循环缓冲循环缓冲5.3.4 5.3.4 缓冲池缓冲池(Buffer Pool)(Buffer Pool)2022-2-272022-2-276262循环缓冲的引入循环缓冲的引入当输入与输出速度根本匹配时当输入与输出速度根本匹配时, ,双缓冲能获得较好效果双缓冲能获得较好效果; ;当速当速度相差较大时度相差较大时, ,可引入多个缓冲可引入多个缓冲, ,组织成循环缓冲的形式组织成循环缓冲的形式1.1.循环缓冲的组

53、成循环缓冲的组成多个缓冲区多个缓冲区用于装输入数据的空缓冲区用于装输入数据的空缓冲区R R已装满数据的满缓冲区已装满数据的满缓冲区G G计算进程正在使用的现行工作缓冲区计算进程正在使用的现行工作缓冲区C C多个指针多个指针指示计算进程下一可用缓冲区指示计算进程下一可用缓冲区NextgNextg指示输入进程下一可用空缓冲区指示输入进程下一可用空缓冲区NextiNexti指示计算进程正在使用的缓冲区指示计算进程正在使用的缓冲区CurrentCurrent2022-2-272022-2-276363图图5-14 5-14 循环缓冲循环缓冲 RGGGRG165423NextiNextgRGGGRC16

54、5423NextiNextgcurrent工作工作缓冲缓冲区区满满缓缓冲冲区区空空缓缓冲冲区区2022-2-272022-2-2764642.2.循环缓冲区的使用循环缓冲区的使用(1)Getbuf(1)Getbuf过程过程为计算进程和输入进程提供缓冲区为计算进程和输入进程提供缓冲区, ,并移动指针并移动指针(2)Releasebuf(2)Releasebuf过程过程当计算进程或输入使用完缓冲区后当计算进程或输入使用完缓冲区后, ,调用过程将缓冲调用过程将缓冲区释放区释放3.3.进程同步进程同步(1)Nexti(1)Nexti指针追赶上指针追赶上NextgNextg指针指针输入进程速度大于计算进

55、程输入进程速度大于计算进程, ,全部空缓冲区全部空缓冲区已满已满, ,无可无可用缓冲区用缓冲区, ,输入进程阻塞输入进程阻塞(2)Nextg(2)Nextg指针追赶上指针追赶上NextiNexti指针指针计算进程速度大于输入进程计算进程速度大于输入进程, ,全部缓冲区全部缓冲区空空, ,无可用数无可用数据据, ,计算进程阻塞计算进程阻塞2022-2-272022-2-2765655.3.1 5.3.1 缓冲的引入缓冲的引入5.3.2 5.3.2 单缓冲和双缓冲单缓冲和双缓冲5.3.3 5.3.3 循环缓冲循环缓冲5.3.4 5.3.4 缓冲池缓冲池(Buffer Pool)(Buffer Po

56、ol)2022-2-272022-2-2766665.3.4 5.3.4 缓冲池缓冲池(Buffer Pool) (Buffer Pool) 1. 1. 缓冲池的组成缓冲池的组成专用缓冲专用缓冲的利用率不高的利用率不高, ,因此设置公用缓冲池因此设置公用缓冲池, ,其中至少其中至少应含有以下应含有以下三种三种类型的缓冲区类型的缓冲区: :空空( (闲闲) )缓冲区缓冲区; ;装满输入数据的缓冲区装满输入数据的缓冲区; ; 装满输出数据的缓冲区。装满输出数据的缓冲区。 为了管理上的方便为了管理上的方便, ,可将相同类型的缓冲区链成一个队可将相同类型的缓冲区链成一个队列列, ,于是可形成以下于是可

57、形成以下三个三个队列队列: : (1) (1)空缓冲队列空缓冲队列emqemq。由。由空缓冲区空缓冲区所链成的队列所链成的队列; ; (2) (2)输入队列输入队列inqinq。由。由装满输入数据装满输入数据的缓冲区所链成的队的缓冲区所链成的队列列; ; (3) (3)输出队列输出队列outqoutq。由。由装满输出数据装满输出数据的缓冲区所链成的的缓冲区所链成的队列。队列。 2022-2-272022-2-2767672.Getbuf2.Getbuf过程和过程和PutbufPutbuf过程过程 Procedure Getbuf(type)/用于从用于从type所指定的队列的队首所指定的队列的

58、队首 begin / , 摘下一个缓冲区摘下一个缓冲区 P(RS(type); P(MS(type); B(number):=Takebuf(type); /从队首摘下一个缓冲区从队首摘下一个缓冲区 V(MS(type); end Procedure Putbuf(type, number)/用于将用参数用于将用参数number所指示的缓冲区所指示的缓冲区 begin / , 挂在挂在type队列上队列上 P(MS(type); Addbuf(type, number); /将指定缓冲区挂在将指定缓冲区挂在type指定队列上指定队列上 V(MS(type); V(RS(type); end 资

59、源信号资源信号量量互斥信号互斥信号量量2022-2-272022-2-276868收容输入收容输入提取输入提取输入收容输出收容输出提取输出提取输出2022-2-272022-2-2769693.3.缓冲区的工作方式缓冲区的工作方式 图图5-15 5-15 缓冲区的工作方式缓冲区的工作方式 hinsoutsinhout收收容容输输入入提取输出用用户户进进程程提取输入收收容容输输出出缓冲池G Ge et tb bu uf f( (e em mq q) )P Pu ut tb bu uf f( (i in nq q, ,h hi in n) )G Ge et tb bu uf f( (i in nq

60、 q) )P Pu ut tb bu uf f( (e em mp p, ,s si in n) )2022-2-272022-2-277070hinhoutsinsout 收容输入收容输入提取输出提取输出 提取输入提取输入收容输出收容输出 P Pu ut tb bu uf f( (i in nq q, ,h hi in n) )P Pu ut tb bu uf f( (e em mq q, ,s si in n) )输入输入(键盘键盘) G Ge et tb bu uf f( (e em mq q) )首首.尾尾输入队列输入队列inqinq首首.尾尾空缓冲队列空缓冲队列emqemq 用户用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论