版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、12/27/2022 第第5 5章章 设备管理设备管理 设备管理是操作系统中最繁杂且与硬件关系设备管理是操作系统中最繁杂且与硬件关系最密切的局部。通过本章学习,读者应该掌握以最密切的局部。通过本章学习,读者应该掌握以下内容:下内容:数据传输方式数据传输方式中断技术中断技术缓冲技术缓冲技术设备分配技术设备分配技术设备独立性设备独立性设备驱动设备驱动22/27/20225.1. I/O系统 5.2. I/O控制方式 5.3. 缓冲管理 5.4. I/O软件 5.5. 设备分配 5.6. 磁盘存储器的管理32/27/2022设备管理的目标设备管理的目标n 根据设备请求的情况,按照一定的算法,根据设备
2、请求的情况,按照一定的算法,选择和分配输入输出设备以便进行数据传输选择和分配输入输出设备以便进行数据传输操作;操作;n 控制输入输入设备和控制输入输入设备和CPU或内存之间交换或内存之间交换数据,同时提高设备和设备之间、数据,同时提高设备和设备之间、CPU和设和设备之间,以及进程和进程之间的并行操作度,备之间,以及进程和进程之间的并行操作度,以使操作系统获得最正确效率;以使操作系统获得最正确效率;n 为用户提供一个友好的透明接口,把用户为用户提供一个友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,系统按用户要求程序时不必
3、涉及具体设备,系统按用户要求控制设备工作。控制设备工作。42/27/2022设备管理功能设备管理功能设备分配与回收设备分配与回收缓冲管理缓冲管理设备处理设备处理虚拟设备虚拟设备52/27/2022511 I/O设备设备 计算机系统的外围设备包括:显示器、键盘、纸带阅读器、纸带穿孔机、打印机、磁带、磁盘、光盘、激光打印机、绘图仪、图形数字化仪、鼠标器、声音输入、声音输出设备以及办公自动化设备等等,种类相当繁多,可从不同的角度对它们进行分类。 5.1 I/O系统系统62/27/2022n系统设备:系统设备:在操作系统生成时已配置好的的标准设备。 如:键盘、显示器、打印机、磁盘等。n 用户设备:用户
4、设备:指系统设备之外的非标准设备,一般由用户提供设备及其处理程序,并通过适当的手段把它们纳入系统中,由系统实施管理。 如:网卡、调制解调器、绘图仪等。 1设备的附属关系分类设备的附属关系分类72/27/2022n块设备:块设备:指以数据块为单位存储和传输数据的设备 如磁盘、磁带等。n字符设备:字符设备:指以单个字符为单位来传送信息的设备。 如键盘、显示器、打印机等。2设备中的信息交换单位方式分类设备中的信息交换单位方式分类82/27/2022n存储设备:它是计算机用来存储永久性信息的设存储设备:它是计算机用来存储永久性信息的设备备n 如,磁带、磁盘软盘、硬盘、光盘等。如,磁带、磁盘软盘、硬盘、
5、光盘等。n输入设备:将外部信息送给计算机的设备。输入设备:将外部信息送给计算机的设备。n 如,键盘、鼠标、扫描仪、手写笔、数码相如,键盘、鼠标、扫描仪、手写笔、数码相机、麦克风、游戏手柄等机、麦克风、游戏手柄等n输出设备:将计算机加工后的信息传送给外界的输出设备:将计算机加工后的信息传送给外界的设备。设备。n 如,显示器、打印机、投影仪等。如,显示器、打印机、投影仪等。3按设备的使用特性分类按设备的使用特性分类92/27/2022n独占设备独占设备:这类设备在用户作业的整个运行期间这类设备在用户作业的整个运行期间必须为此用户所占有,即多个作业对某一外设的必须为此用户所占有,即多个作业对某一外设
6、的访问应该是互斥的,一旦系统将这类设备分配给访问应该是互斥的,一旦系统将这类设备分配给某个作业,便由该设备独占,直至释放该资源。某个作业,便由该设备独占,直至释放该资源。n 大多数低速大多数低速I/O设备,如用户终端、打印机设备,如用户终端、打印机等等n共享设备共享设备:指在同一时间段内可以同时让几个作指在同一时间段内可以同时让几个作业使用的设备,当然,在某一时刻,该设备只能业使用的设备,当然,在某一时刻,该设备只能为一个作业效劳。为一个作业效劳。n 适应于高速设备,如磁盘适应于高速设备,如磁盘n虚拟设备虚拟设备:根据设备的使用性质来决定一台设备根据设备的使用性质来决定一台设备可以分给几个进程
7、以提高该设备的使用率。可以分给几个进程以提高该设备的使用率。n 如虚拟打印机如虚拟打印机4按资源分配的角度分类按资源分配的角度分类102/27/2022n 1、按、按 分类可将设备分为块设备和字符设备。分类可将设备分为块设备和字符设备。n A.附属关系附属关系 B.操作特性操作特性 n C.共享属性共享属性 D.信息交换单位信息交换单位 n 2、大多数低速设备都属于、大多数低速设备都属于 设备。设备。n A独占独占 B共享共享 C虚拟虚拟 DSpoolingn3、从资源分配的角度看,可以把设备分为独占设、从资源分配的角度看,可以把设备分为独占设备、共享设备和备、共享设备和 虚拟设备虚拟设备 ,
8、打印机属于,打印机属于_ 设备设备,而磁盘属于而磁盘属于_设备。设备。112/27/2022 5.1.2 设备控制器设备控制器1.设备控制器的概念设备控制器的概念 设备控制器是CPU与外围设备之间的接口,是一个可编址设备,每一个地址对应一个设备。 它接收从CPU发来的命令,并去控制输入输出设备的工作,使CPU从繁杂的设备控制事务中解脱出来,提高CPU的使用效率。122/27/20222.作用:接收从作用:接收从CPU发来的命令,控制发来的命令,控制I/O设备设备工作工作3.功能:功能:接收和识别命令接收和识别命令数据交换数据交换地址识别地址识别标识和报告设备的状态标识和报告设备的状态过失控制过
9、失控制132/27/20224.设备控制器的组成设备控制器的组成n1.设备控制器与处理机的接口n2.设备控制器与设备的接口n3.I/O逻辑142/27/2022I/O系统的结构CPU磁盘控制器磁盘控制器存储器存储器打印机打印机控制器控制器其他控制器其他控制器一、微型机I/O系统 :总线结构磁盘驱动器磁盘驱动器打印机打印机152/27/2022二、主机系统输入输出结构当主机所配置的输入输出设备较多时,特别是配当主机所配置的输入输出设备较多时,特别是配有较多的高速外设时,采用总线型输入输出系统结构有较多的高速外设时,采用总线型输入输出系统结构会加重会加重CPUCPU与总线的负担。与总线的负担。 因
10、此,在这样的输入输出系统中不宜采用单总线因此,在这样的输入输出系统中不宜采用单总线结构,而是增加一级输入输出通道,用来代替结构,而是增加一级输入输出通道,用来代替CPUCPU与各与各设备控制器进行通信,实现对控制器的控制。设备控制器进行通信,实现对控制器的控制。162/27/2022 172/27/20225.1.3 I/O通道通道1、通道的引入、通道的引入 为了提高计算机系统的运行效率,就要使为了提高计算机系统的运行效率,就要使CPU摆脱繁忙的摆脱繁忙的I/O事务,而配置专门处理事务,而配置专门处理I/O事务的机构事务的机构通道。通道。 通道的引入是为了建立独立的通道的引入是为了建立独立的I
11、/O操作。它不仅要求数据操作。它不仅要求数据传送独立于传送独立于CPU,而且要求,而且要求I/O操作的组织、管理、结束等操作的组织、管理、结束等也尽量独立,以保证也尽量独立,以保证CPU有更多的时间从事计算。这样就可有更多的时间从事计算。这样就可以实现以实现CPU计算和计算和I/O操作的并行工作。操作的并行工作。182/27/2022思考题一思考题一n n 什么是通道?什么是通道? 通道有哪些类型?通道有哪些类型?192/27/20222、I/O通道概念通道概念 通道是一种硬件机构,又称通道是一种硬件机构,又称I/O处理处理机。输入输出通道是指专门负责输入输机。输入输出通道是指专门负责输入输出
12、工作的处理器。出工作的处理器。 它有自己的指令系统包含数据传送它有自己的指令系统包含数据传送指令和设备控制指令,独立执行自己指令和设备控制指令,独立执行自己的通道程序来实现内存与外设之间的数的通道程序来实现内存与外设之间的数据传输,从而使系统获得据传输,从而使系统获得CPU与外设并与外设并行处理的能力。行处理的能力。202/27/2022n3、通道的类型、通道的类型n 根据信息交换方式的不同,可把通道分成根据信息交换方式的不同,可把通道分成字节多路通道、数组多路通道和选择通道三种。字节多路通道、数组多路通道和选择通道三种。n1字节多路通道字节多路通道n 通常都含有许多非分配型子通道,其数量通常
13、都含有许多非分配型子通道,其数量可以从几十到数百个,每一个子通道连接一台可以从几十到数百个,每一个子通道连接一台输入输出设备,这些子通道按时间片轮转方式输入输出设备,这些子通道按时间片轮转方式共享主通道。共享主通道。 字节多路通道字节多路通道连接低速或中速连接低速或中速设备时,不会丧设备时,不会丧失信息。失信息。212/27/2022n 选择通道的数据传送是按成批的方式进行的,故传送速率很高。2数据选择通道数据选择通道选择通道选择通道n 它适用于连接高速I/O设备,如磁带、磁盘等。选择通道只有一个分配型子通道,即这个子通道可以连接多台设备,但每次只能把子通道分配给一台设备使用。一旦分配给某台设
14、备,子通道就被它独占,即使暂时出现空闲,也不允许其他设备利用该子通道。直到它被释放,再选择另一台设备为其效劳。因此选择通道的利用率是很低的。222/27/2022n 这种通道综合了字节多路通道分时并行工作和选择通这种通道综合了字节多路通道分时并行工作和选择通道传输速率高的特点。道传输速率高的特点。n 它具有多个非分配型子通道,每个子通道连接一台中、它具有多个非分配型子通道,每个子通道连接一台中、高速高速I/O设备,如:磁带、磁鼓、磁盘等,因而通道所连设备,如:磁带、磁鼓、磁盘等,因而通道所连接的几个设备可以并行工作。接的几个设备可以并行工作。 n 数组多路通道技术相当于通道程序的多道程序设计技
15、数组多路通道技术相当于通道程序的多道程序设计技术。术。3数组多路通道数组多路通道232/27/2022 CPU CPU字节多路通道字节多路通道 打印机打印机1 1 打印机打印机2 2 I/O I/O控制器控制器 I/OI/O控制器控制器 内存内存 选择通道选择通道 成组多路通道成组多路通道 磁盘磁盘 I/OI/O控制控制器器 磁盘磁盘 I/OI/O控制控制器器 I/O控控 制器制器 I/O I/O 控制器控制器 磁带磁带 磁带磁带 存在这三种通道的计算机系统的各硬件的连接关系如下图:242/27/2022思考题二思考题二 设备管理中,什么是设备管理中,什么是“瓶颈现象?瓶颈现象? 如何解决?如
16、何解决?252/27/2022n 通道命令和通道程序通道命令和通道程序n 通道有自己的指令系统,为了与通道有自己的指令系统,为了与CPU的指令相区别,通道的指令被称为的指令相区别,通道的指令被称为“通道通道命令字。通道命令字条数不多,主要涉命令字。通道命令字条数不多,主要涉及控制、转移、读、写及查询等功能。及控制、转移、读、写及查询等功能。0 7 8 31 32 47 48 63 每条通道命令由四个字段组成:每条通道命令由四个字段组成: (1) 操作码操作码(07): 表示通道要执行的命令;表示通道要执行的命令; (2) 数据主存始址:数据主存始址: 表示本命令要访问的主存数据区的表示本命令要
17、访问的主存数据区的起始地址;起始地址; (3) 特征位特征位(3247, 只使用了只使用了 3236 位,位, 其余未用其余未用): 3739 位必须置位必须置 0,否那么认为通道命令错。,否那么认为通道命令错。 262/27/2022 通道程序存放在内存中,由通道程序存放在内存中,由I/O指令启动执指令启动执行。用户请求行。用户请求I/O时,时,CPU对通道的通信是对通道的通信是向通道发出查询、启动和停止通道程序工作,向通道发出查询、启动和停止通道程序工作,而通道向而通道向CPU的通信那么采用中断方式。其的通信那么采用中断方式。其执行过程如下图。执行过程如下图。272/27/2022用户用户
18、I/OI/O请求请求 查询设备忙查询设备忙闲?闲? 调用通道程序调用通道程序 执行通道程序执行通道程序 I/OI/O操作完成,操作完成,发中断请求发中断请求 CPUCPU响应中断,进行结束响应中断,进行结束处理处理 以以I/OI/O指令启动通道指令启动通道 结束通道工作结束通道工作 进入设备请求队进入设备请求队列,等待列,等待 忙忙 不忙不忙 通道程序的执行过程通道程序的执行过程 282/27/2022n5、通道工作过程、通道工作过程n 1 当进程有当进程有I/O请求时,系统首先查请求时,系统首先查询设备状态。假设忙,进程进入设备请求队询设备状态。假设忙,进程进入设备请求队列等待;假设闲,列等
19、待;假设闲,CPU发指令指明发指令指明I/O操作、操作、设备号和对应通道。设备号和对应通道。n 2 对应通道收到对应通道收到CPU发来的启动指发来的启动指令后,读出内存中的通道指令程序、设置对令后,读出内存中的通道指令程序、设置对应设备的控制状态存放器的初值。应设备的控制状态存放器的初值。n 3 设备按通道指令的求,把数据送设备按通道指令的求,把数据送往内存指定区域。往内存指定区域。n 4 假设传送结束,假设传送结束,I/O控制器通过中控制器通过中断请求线发中断信号请求断请求线发中断信号请求CPU做中断处理。做中断处理。n 5 中断处理结束后,中断处理结束后,CPU返回到被返回到被中断进程处继
20、续执行。中断进程处继续执行。n 6 当进程调度程序选中这个已得到当进程调度程序选中这个已得到数据的进程后,才能进行加工处理。数据的进程后,才能进行加工处理。292/27/2022思考题三思考题三 n通道的作用是什么?通道的作用是什么? 通道是一个独立于通道是一个独立于CPU的专管输入的专管输入/输出控制的处理输出控制的处理器,它控制内存与外部设备直接进行数据交换。器,它控制内存与外部设备直接进行数据交换。 它有自己的通道指令,这些通道指令受它有自己的通道指令,这些通道指令受CPU启动,启动,并在操作结束时向并在操作结束时向 CPU发中断信号。发中断信号。 通道方式进一步减轻了通道方式进一步减轻
21、了CPU的工作负担,增加了计算的工作负担,增加了计算机系统的并行工作程度。机系统的并行工作程度。 302/27/20225.1.4 总线系统总线系统n1、总线根本概念、总线根本概念n 在计算机系统内各种子系统,如在计算机系统内各种子系统,如CPU、内存、内存、I/O设备等之间,构建公用的信号或数设备等之间,构建公用的信号或数据传输通道据传输通道n 这种可共享的传输通道称为总线。这种可共享的传输通道称为总线。312/27/2022n2、总线的分类、总线的分类322/27/2022n 当用户进程通过系统调用提出当用户进程通过系统调用提出I/O请求时,从请求时,从系统响应此请求开始,至系统完成用户要
22、求的系统响应此请求开始,至系统完成用户要求的I/O操作,并唤醒相应的等待操作,并唤醒相应的等待I/O完成的进程为止,完成的进程为止,这整个过程称为这整个过程称为I/O控制过程。控制过程。52 I/O控制方式控制方式332/27/2022nI/O控制过程包括以下步骤:控制过程包括以下步骤:n 1响应响应I/O请求,为在具体物理设备上进请求,为在具体物理设备上进行行I/O操作做准备。包括将逻辑设备名转换为操作做准备。包括将逻辑设备名转换为物理设备名设备分配、物理设备名设备分配、I/O请求的合法性请求的合法性等。等。n 2设备驱动,控制设备完成设备驱动,控制设备完成I/O操作,对操作,对每类设备分别
23、设置不同的设备驱动程序。每类设备分别设置不同的设备驱动程序。n 3中断处理,中断处理,I/O操作完成之后,设备控操作完成之后,设备控制器向制器向CPU发送中断信号,发送中断信号,CPU响应后转向响应后转向相应的中断处理程序进行善后处理。相应的中断处理程序进行善后处理。342/27/2022nI/O操作的控制方式一般有四种:操作的控制方式一般有四种:n查询方式查询方式n中断方式中断方式n直接内存存取方式直接内存存取方式n通道方式通道方式n 它们的主要差异在于处理器它们的主要差异在于处理器和外设并行工作的方式和程度的和外设并行工作的方式和程度的不同。不同。352/27/2022n查询方式是最简单的
24、查询方式是最简单的I/OI/O控制方式。控制方式。n在设备控制器中有两个存放器,一个是状态存放器,在设备控制器中有两个存放器,一个是状态存放器,由其中的一个状态位的值反映设备的忙或闲;另一由其中的一个状态位的值反映设备的忙或闲;另一个是数据缓冲存放器。个是数据缓冲存放器。n当设备启动时,状态存放器的启动位为当设备启动时,状态存放器的启动位为1 1,此时外,此时外设把数据送往数据缓冲存放器,并将状态存放器的设把数据送往数据缓冲存放器,并将状态存放器的状态位置状态位置1 1。nCPUCPU执行完一条指令后就测试状态位,如果为执行完一条指令后就测试状态位,如果为1 1,就,就把数据存放器中的数据取到
25、内存;假设状态位为把数据存放器中的数据取到内存;假设状态位为0 0,那么再测试,直到状态存放器的状态位为那么再测试,直到状态存放器的状态位为1 1,然后,然后再读取数据。所以此种方式也称循环测试再读取数据。所以此种方式也称循环测试I/OI/O方式方式521 查询方式查询方式362/27/2022就绪向设备控制器发读命令读设备控制器的状态检查状态从设备控制器中读入字向存储器中写字传送完成CPU-I/OCPU-内存I/O - CPU出错I/O - CPU完成下条指令未完成未就绪372/27/2022n步骤:步骤:n (1) 当用户需要输入数据时,由处理器向设备当用户需要输入数据时,由处理器向设备控
26、制器发出一条输入输出指令,启动设备进行输入控制器发出一条输入输出指令,启动设备进行输入n (2) 当用户进程需要向设备输出数据时,也必须当用户进程需要向设备输出数据时,也必须同样发出启动命令启动设备输出,并等待输出操作同样发出启动命令启动设备输出,并等待输出操作完成。完成。n特点:特点: 工作过程简单,工作过程简单,CPU的利用率低。在要求不的利用率低。在要求不高的场合下常被采用,而且不能支持多道程序。程高的场合下常被采用,而且不能支持多道程序。程序直接控制方式适用于早期的无中断的计算机系统。序直接控制方式适用于早期的无中断的计算机系统。382/27/2022n 查询方式是主机向外设询问,而引
27、入中断查询方式是主机向外设询问,而引入中断后,每当设备完成后,每当设备完成I/O操作,它便以中断请求方操作,它便以中断请求方式主动向式主动向CPU汇报。汇报。n 因此,因此,CPU一旦启动一旦启动I/O设备后便可转去处理设备后便可转去处理其他程序,仅在接到其他程序,仅在接到I/O中断信息请求时才花费中断信息请求时才花费极少时间去处理。极少时间去处理。 522 中断方式中断方式392/27/2022n1、中断概念、中断概念n 所谓中断,是指处理机在执行进程的过所谓中断,是指处理机在执行进程的过程中程中, 由于某些事件的出现由于某些事件的出现, 中止当前进程的中止当前进程的运行运行, 转而去处理出
28、现的事件转而去处理出现的事件, 待处理完毕后待处理完毕后返回原来被中断处继续执行或调度其他进程返回原来被中断处继续执行或调度其他进程执行。执行。n2、中断源、中断源n 引起中断的事件称为中断源。引起中断的事件称为中断源。n 1强迫性中断源强迫性中断源n 硬件故障、程序性错误、外部事件、硬件故障、程序性错误、外部事件、I/O中断事件中断事件n2自愿性中断源自愿性中断源402/27/2022n3、步骤、步骤n 1进程需要数据时,将允许启动和允进程需要数据时,将允许启动和允许中断的控制字写入设备控制状态存放器中,许中断的控制字写入设备控制状态存放器中,启动该设备进行输入操作。启动该设备进行输入操作。
29、n 2该进程放弃处理机,等待输入的完该进程放弃处理机,等待输入的完成。操作系统进程调度程序调度其他就绪进成。操作系统进程调度程序调度其他就绪进程占用处理机。程占用处理机。n 3当输入完成时,输入设备通过中断当输入完成时,输入设备通过中断请求线向请求线向CPU发出中断请求信号。发出中断请求信号。CPU在接在接收到中断信号之后,转向中断处理程序。收到中断信号之后,转向中断处理程序。n 4中断处理程序首先保护现场,然后中断处理程序首先保护现场,然后把输入缓冲存放器中的数据传送到某一特定把输入缓冲存放器中的数据传送到某一特定单元中去,同时将等待输入完成的那个进程单元中去,同时将等待输入完成的那个进程唤
30、醒,进入就绪状态,最后恢复现场,并返唤醒,进入就绪状态,最后恢复现场,并返回到被中断的进程继续执行。回到被中断的进程继续执行。n 5在以后的某一时刻,操作系统进程在以后的某一时刻,操作系统进程调度程序选中提出的请求并得到获取数据的调度程序选中提出的请求并得到获取数据的进程,该进程从约定的内存特定单元中取出进程,该进程从约定的内存特定单元中取出数据继续工作数据继续工作412/27/2022向设备控制器发读命令读设备控制器的状态检查状态从设备控制器中读入字向存储器中写字传送完成完成下条指令CPU-I/OCPU-内存I/O - CPU出错I/O - CPU未完成CPU做其他中断422/27/2022
31、n例如,打印机每打一行需要例如,打印机每打一行需要60ms,在查询方式,在查询方式中,大约有中,大约有59.99ms,CPU都处于循环等待中,都处于循环等待中,而以中断方式处理的话,而以中断方式处理的话,CPU仅花费仅花费0.1ms时间时间来处理来处理I/O设备发来的中断,其余的设备发来的中断,其余的59.99ms都都可以用来做别的事情。所以中断方式比查询方式可以用来做别的事情。所以中断方式比查询方式节省节省CPU的时间。的时间。432/27/2022n 中断方式的方法是当设备完成中断方式的方法是当设备完成I/O操作后,主操作后,主动向动向CPU报告,报告,CPU只用少量时间处理只用少量时间处
32、理I/O中断,中断,并将数据取回。并将数据取回。n 在多道程序中的环境下,一个程序或进程启在多道程序中的环境下,一个程序或进程启动动I/O设备并允许中断后,不是自己主动去执行别设备并允许中断后,不是自己主动去执行别的程序或继续执行主流程,而是应当把自己挂起,的程序或继续执行主流程,而是应当把自己挂起,控制权交还给进程调度程序。在中断处理程序中,控制权交还给进程调度程序。在中断处理程序中,完成指定的完成指定的I/O操作之后应把等待此结果的进程唤操作之后应把等待此结果的进程唤醒,而后由进程调度程序在适当时机把此进程投醒,而后由进程调度程序在适当时机把此进程投入运行。入运行。442/27/2022l
33、 某进程某进程 其他进程其他进程输入中断处理输入中断处理 中断中断 调度调度 调度调度唤醒唤醒l启动启动I/OI/O并允许并允许中断中断 阻塞等待阻塞等待 处理输入的数据处理输入的数据 保护现场保护现场 输入处理输入处理 唤醒等待进程唤醒等待进程 恢复现场恢复现场 多道多道程序程序下的下的中断中断处理处理方式方式452/27/2022n4、特点、特点n 中断控制方式比程序直接控制方式提高中断控制方式比程序直接控制方式提高了了CPU的利用率。每输入输出一个数据都会的利用率。每输入输出一个数据都会发生中断,传输一组数据需要屡次中断,浪发生中断,传输一组数据需要屡次中断,浪费了费了CPU的处理时间。
34、中断控制方式应用于的处理时间。中断控制方式应用于现代计算机系统中。现代计算机系统中。462/27/2022n1、DMA控制方式的引入控制方式的引入 引入的原因:引入的原因:中断处理方式提高了主机的利中断处理方式提高了主机的利用率,但是每次中断都要保存现场信息,恢复现用率,但是每次中断都要保存现场信息,恢复现场等,仍占用场等,仍占用CPU时间。在传送数据量大、速度时间。在传送数据量大、速度高的情况下,中断方式就不适应了。高的情况下,中断方式就不适应了。 为了进一步减少为了进一步减少CPU对外设操作干预而引入对外设操作干预而引入直接存储器访问方式。直接存储器访问方式。 523 直接内存存取方式直接
35、内存存取方式472/27/20222、DMA控制方式控制方式 是指对是指对I/O设备的控制由设备的控制由DMA控制器控制器完成,在完成,在DMA控制器的作用下,设备控制器的作用下,设备和主存之间可以成批地进行数据交换,和主存之间可以成批地进行数据交换,而不用而不用CPU的干预。的干预。 523 直接内存存取方式直接内存存取方式482/27/20223 3、DMADMA控制器的组成控制器的组成: : DMA控制器的组成控制器的组成命令命令控制器与设备接口控制器与设备接口主机主机控制器接口控制器接口内存内存CPU系统总线系统总线I/O控制控制逻辑逻辑CRMARDCDRcount492/27/202
36、2n4、DMA工作步骤工作步骤:n 当进程要求设备输入一批数据时,当进程要求设备输入一批数据时,CPU将设备存放输入数据的将设备存放输入数据的内存始址以及要传送的字节数分别送入内存始址以及要传送的字节数分别送入DMA控制器中的地址存放器和控制器中的地址存放器和传送字节计数器;另外,还要将中断位和启动位置为传送字节计数器;另外,还要将中断位和启动位置为1,以启动设备,以启动设备开始进行数据输入并允许中断。开始进行数据输入并允许中断。n 发出数据要求的进程进入等待状态,进程调度程序调度其他进程发出数据要求的进程进入等待状态,进程调度程序调度其他进程占据占据CPU。n 输入设备不断地挪用输入设备不断
37、地挪用CPU工作周期,将数据存放器中的数据源工作周期,将数据存放器中的数据源源不断地写入内存,直到所要求的字节全部传送完毕。源不断地写入内存,直到所要求的字节全部传送完毕。n DMA控制器在传送字节数完成时,通过中断请求线发出中断信号,控制器在传送字节数完成时,通过中断请求线发出中断信号,CPU收到中断信号后转中断处理程序,唤醒等待输入完成的进程,并收到中断信号后转中断处理程序,唤醒等待输入完成的进程,并返回被中断的程序。返回被中断的程序。n 在以后的某个时刻,进程调度程序选中提出请求输入的进程,该在以后的某个时刻,进程调度程序选中提出请求输入的进程,该进程从指定的内存始址取出数据做进一步处理
38、。进程从指定的内存始址取出数据做进一步处理。502/27/2022CPU向控制器发出启动向控制器发出启动DMA通知和有关参数通知和有关参数控制器向内存发出询问请求控制器向内存发出询问请求访问内存读、写访问内存读、写计数器减计数器减1结束否结束否发中断发中断NYDMA的实现流程的实现流程512/27/2022n5、DMA方式特点:方式特点:n 1 数据传送的根本单位是数据块;数据传送的根本单位是数据块;n 2 所传送的数据是从设备直接送所传送的数据是从设备直接送入内存,或者相反;入内存,或者相反;n 3 仅在传送一个或多个数据块的仅在传送一个或多个数据块的开始和结束时,才需中断开始和结束时,才需
39、中断CPU,请求干预,请求干预,整块数据的传送是在整块数据的传送是在DMA控制器控制下完控制器控制下完成的。成的。n 缺点缺点: DMA方式只能完成简单的数据传送、计数、内方式只能完成简单的数据传送、计数、内存地址加存地址加1或减或减1等操作,不能满足复杂的等操作,不能满足复杂的I/O操操作要求。作要求。 522/27/20226、DMA方式与中断的主要区别方式与中断的主要区别n 1 中断方式是在数据缓冲存放区满后,发中断方式是在数据缓冲存放区满后,发中断请求,中断请求,CPU进行中断处理;进行中断处理;n DMA方式那么是在所要求传送的数据块全方式那么是在所要求传送的数据块全部传送结束时要求
40、部传送结束时要求CPU进行中断处理,大大减少了进行中断处理,大大减少了CPU进行中断处理的次数。进行中断处理的次数。n 2 中断方式的数据传送是由中断方式的数据传送是由CPU控制完成控制完成的;的;n DMA方式那么是在方式那么是在DMA控制器的控制下不控制器的控制下不经过经过CPU控制完成的。控制完成的。532/27/20225.2.4 I/O通道控制方式通道控制方式n1、概念、概念 通道控制方式是一种以主存为中心,是设备与通道控制方式是一种以主存为中心,是设备与主存直接交换数据的控制方式。主存直接交换数据的控制方式。 CPU只需要发出启动指令,指出通道相应的操只需要发出启动指令,指出通道相
41、应的操作和输入输出设备,该指令就可以启动通道并使该作和输入输出设备,该指令就可以启动通道并使该通道从主存中调出相应的通道指令执行,完成一组通道从主存中调出相应的通道指令执行,完成一组数据块的输入数据块的输入/输出。输出。 542/27/2022n2、通道控制方式步骤、通道控制方式步骤n 1当进程要求设备输入时,当进程要求设备输入时,CPU发指令指明发指令指明I/O操作、设备号和对应通道。操作、设备号和对应通道。n 2对应通道收到对应通道收到CPU发来的启动指令后,读发来的启动指令后,读出内存中的通道指令程序、设置对应设备的控制状出内存中的通道指令程序、设置对应设备的控制状态存放器的初值。态存放
42、器的初值。n 3设备按通道指令的要求,把数据送往内存设备按通道指令的要求,把数据送往内存指定区域。指定区域。n 4假设传送结束,假设传送结束,I/O控制器通过中断请求控制器通过中断请求线发中断信号请求线发中断信号请求CPU做中断处理。做中断处理。n 5中断处理结束后,中断处理结束后,CPU返回到被中断进返回到被中断进程处继续执行。程处继续执行。n 6当进程调度程序选中这个已得到数据的当进程调度程序选中这个已得到数据的进程后,才能进行加工处理。进程后,才能进行加工处理。552/27/2022n3、特点、特点 通道所需要的通道所需要的CPU干预更少,并可以实现干预更少,并可以实现CPU、通道和输入
43、输出设备三者之间的并行操作,从而更通道和输入输出设备三者之间的并行操作,从而更有效地提高整个系统资源的利用率。有效地提高整个系统资源的利用率。 通道控制方式适用于现代计算机系统中的大量数通道控制方式适用于现代计算机系统中的大量数据交换。据交换。562/27/2022通道和通道和DMA控制器的区别控制器的区别 1一个一个DMA控制器只能连接同类外设,且如控制器只能连接同类外设,且如果是多台同类外设,那么它们只能是以串行方式工果是多台同类外设,那么它们只能是以串行方式工作。作。 一个通道可以连接多个不同类型的设备控制器,一个通道可以连接多个不同类型的设备控制器,而一个设备控制器又可以管理一台或多台
44、外围设备,而一个设备控制器又可以管理一台或多台外围设备,这就构成了典型的多级层次结构,众多外设均可在这就构成了典型的多级层次结构,众多外设均可在通道控制下同时工作;通道控制下同时工作; 2DMA控制是借助硬件完成数据交换的,而控制是借助硬件完成数据交换的,而通道是执行通道程序完成数据的;通道是执行通道程序完成数据的; 3DMA控制器需要控制器需要CPU对多个外设进行初始对多个外设进行初始化。化。CPU只需发一个只需发一个I/O指令启动通道,由通道自己指令启动通道,由通道自己完成外设的初始化。完成外设的初始化。572/27/2022n 综上所述,在前三种综上所述,在前三种I/O控制方式中,控制方
45、式中,CPU直直接对设备控制器和接对设备控制器和I/O接口编程,可以简化接口接口编程,可以简化接口的设计。的设计。n 对于非对于非DMA传送,需要传送,需要CPU实际去完成数据实际去完成数据传送。对于高速数据传送可以使用传送。对于高速数据传送可以使用DMA,但还,但还是需要是需要CPU设置设备控制器,初始化设置设备控制器,初始化DMA操作操作和操作完毕去检查端口传送状态。和操作完毕去检查端口传送状态。n 而通道不同于而通道不同于DMA控制器,它能够去取和执控制器,它能够去取和执行它自己的指令;行它自己的指令; 而且这些指令的功能已不仅而且这些指令的功能已不仅仅是数据传送,还包括检索、分支转移,
46、甚至一仅是数据传送,还包括检索、分支转移,甚至一些简单的算术、逻辑运算。些简单的算术、逻辑运算。582/27/2022n 大、中型计算机系统普遍用通道方式去控制大、中型计算机系统普遍用通道方式去控制设备完成设备完成I/O操作,以提高操作,以提高CPU与外设,外设与与外设,外设与外设并行的程度。一些小型机和绝大多数微型机外设并行的程度。一些小型机和绝大多数微型机都是以都是以CPU直接控制设备接口和设备控制器以查直接控制设备接口和设备控制器以查询、中断或询、中断或DMA方式完成方式完成I/O操作,以降低系统操作,以降低系统造价。造价。592/27/2022思考题四思考题四n n 综上所述的综上所述
47、的4种种I/O控制方式,分别适合用控制方式,分别适合用于何种场合?于何种场合?602/27/2022课堂练习题课堂练习题n1、从下面关于设备属性的论述中,选择一条正确的描述。、从下面关于设备属性的论述中,选择一条正确的描述。 nA字符设备的一个根本特征是可寻址的,即能指定输入时字符设备的一个根本特征是可寻址的,即能指定输入时的源地址和输出时的目标地址的源地址和输出时的目标地址nB共享设备必须是可寻址的和随机访问的设备共享设备必须是可寻址的和随机访问的设备nC共享设备是指在同一时刻,允许多个进程同时访问的设备共享设备是指在同一时刻,允许多个进程同时访问的设备nD在分配共享设备和独占设备时,都可能
48、引起进程死锁在分配共享设备和独占设备时,都可能引起进程死锁n2、 在一般大型计算机系统中,主机对外围设备的控制可通在一般大型计算机系统中,主机对外围设备的控制可通过通道、控制器和设备三个层次来实现。从下述表达中选出一条过通道、控制器和设备三个层次来实现。从下述表达中选出一条正确的表达。正确的表达。nA 控制器可控制通道,设备在通道控制下工作控制器可控制通道,设备在通道控制下工作nB 通道控制控制器,设备在控制器控制下工作通道控制控制器,设备在控制器控制下工作nC 通道和控制器分别控制设备通道和控制器分别控制设备nD 控制器控制通道和设备的工作控制器控制通道和设备的工作612/27/2022n1
49、、通过硬件和软件的扩充、通过硬件和软件的扩充,把原来独立的设备改造成能为假把原来独立的设备改造成能为假设干用户共享的设备设干用户共享的设备,这种设备称为这种设备称为 ? 。n 2、引起中断发生的事件称为、引起中断发生的事件称为 ? 。n 3、如果、如果I/O设备与存储设备进行数据交换不经过设备与存储设备进行数据交换不经过CPU来完来完成,这种数据交换方式是成,这种数据交换方式是 ? 。n4、常用的、常用的I/O控制方式有程序控制方式有程序I/O方式、方式、 ? 、?、? 、?、?.n5、DMA是指允许是指允许 ? 和和 ? 之间直接交换数据的设之间直接交换数据的设备。在备。在DMA中必须设置地
50、址存放器,用于存放中必须设置地址存放器,用于存放 ? ,还,还必须设置必须设置 ? 存放器,用来暂存交换的数据。存放器,用来暂存交换的数据。 n6、设备控制器是、设备控制器是 ? 和和 ? 之间的接口,它接受来自之间的接口,它接受来自 ? 的的I/O命令,并用于控制命令,并用于控制 ? 的工作。的工作。n 7、按附属关系对、按附属关系对I/O设备分类,可分为系统设备和设备分类,可分为系统设备和 ? 两类。两类。622/27/20225.3 缓冲管理缓冲管理n5.3.1 缓冲的引入缓冲的引入 1、引入的原因、引入的原因 1缓和缓和CPU与输入输出设备间速度不匹配与输入输出设备间速度不匹配的矛盾的
51、矛盾 2减少对减少对CPU的中断频率,放宽对中断响的中断频率,放宽对中断响应时间的限制。应时间的限制。 3提高提高CPU与输入输出设备间的并行性。与输入输出设备间的并行性。632/27/2022n2、缓冲技术的实现思想、缓冲技术的实现思想n 建立一个缓冲区,当进程要执行读写操建立一个缓冲区,当进程要执行读写操作时,首先向申请一块内存区域作为缓冲区,作时,首先向申请一块内存区域作为缓冲区,然后,将要传送的数据高速送到缓冲区。然后,将要传送的数据高速送到缓冲区。n 如果是读操作,那么根据进程要求,如果是读操作,那么根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传把当前需要的逻辑记录从缓冲区中选
52、出并传送给进程。假设为写操作,那么不断把数据送给进程。假设为写操作,那么不断把数据填到缓冲区,直到它被填满为止。填到缓冲区,直到它被填满为止。642/27/2022n3、实现缓冲的方法、实现缓冲的方法n 1 硬件缓冲。硬件缓冲采用专用硬件硬件缓冲。硬件缓冲采用专用硬件缓冲器,一般由外设自带的专用存放器构成。缓冲器,一般由外设自带的专用存放器构成。n 2软件缓冲。在内存中专门开辟假设软件缓冲。在内存中专门开辟假设干单元作为缓冲区为各种设备效劳。干单元作为缓冲区为各种设备效劳。652/27/20225.3.2 单缓冲和双缓冲单缓冲和双缓冲一、单缓冲一、单缓冲 单缓冲即是在发送者和接收者之间只有一个
53、缓冲区单缓冲即是在发送者和接收者之间只有一个缓冲区 过程:过程:当一个用户进程要求输入数据时,操作当一个用户进程要求输入数据时,操作系统控制输入设备将数据送往缓冲区存放,再送往系统控制输入设备将数据送往缓冲区存放,再送往用户进程的数据存储区。用户进程的数据存储区。662/27/2022n特点特点 在主存中只有一个缓冲区。对于块设备,该缓在主存中只有一个缓冲区。对于块设备,该缓冲区可以存放一块数据,对于字符设备,该缓冲区冲区可以存放一块数据,对于字符设备,该缓冲区可以存放一行数据。设备和处理器对缓冲区的操作可以存放一行数据。设备和处理器对缓冲区的操作是串行的,传输速度慢。在任一时刻,只能进行单是
54、串行的,传输速度慢。在任一时刻,只能进行单向的数据传输,并且传输数据量较少。向的数据传输,并且传输数据量较少。 优点是设计简单,容易实现优点是设计简单,容易实现 缺点是发送者和接收者不能并行工作缺点是发送者和接收者不能并行工作672/27/2022n二、双缓冲二、双缓冲 双缓冲可在发送者与接收者之间设两个缓冲区双缓冲可在发送者与接收者之间设两个缓冲区缓冲区缓冲区1和缓冲区和缓冲区2。 过程:发送者将数据送满缓冲区过程:发送者将数据送满缓冲区1,接收者从缓冲区,接收者从缓冲区1取取数据时,发送者那么可将数据送入缓冲区数据时,发送者那么可将数据送入缓冲区2,当接收者将缓,当接收者将缓冲区冲区1取空
55、后,又可到缓冲区取空后,又可到缓冲区2中取数据,这时发送者再将中取数据,这时发送者再将数据送入缓冲区数据送入缓冲区1。 于是,发送者和接收者交替使用两个缓冲区,到达了并于是,发送者和接收者交替使用两个缓冲区,到达了并行工作的目的。行工作的目的。682/27/2022n特点特点 在主存中设置两个缓冲区,完成数据的传输。两在主存中设置两个缓冲区,完成数据的传输。两个缓冲区可以交替使用,提高了处理器和输入设备个缓冲区可以交替使用,提高了处理器和输入设备的并行操作能力。的并行操作能力。 在任一时刻,可以进行双向的数据传输。一个缓在任一时刻,可以进行双向的数据传输。一个缓冲区用于输入,另一个用于输出。冲
56、区用于输入,另一个用于输出。 适用于输入适用于输入/输出、生产者输出、生产者/消费者速度根本相匹消费者速度根本相匹配的情况。配的情况。 当传输数据量较大,或者两者的速度相差较远时当传输数据量较大,或者两者的速度相差较远时,双缓冲区效率较低,还是不能解决两者并行工作,双缓冲区效率较低,还是不能解决两者并行工作问题。问题。692/27/2022n三、循环缓冲三、循环缓冲 由于双缓冲并不能真正解决实际系统中的并行操作,为了由于双缓冲并不能真正解决实际系统中的并行操作,为了能够进一步提高系统操作的并行程度,可以通过增加缓冲区能够进一步提高系统操作的并行程度,可以通过增加缓冲区的个数,即实现多缓冲区方式
57、。为了更好地控制和使用这些的个数,即实现多缓冲区方式。为了更好地控制和使用这些缓冲区,将多个缓冲区组成环形,称为循环缓冲技术。缓冲区,将多个缓冲区组成环形,称为循环缓冲技术。 循环缓冲技术是在内存中分配大小相等的存储区作循环缓冲技术是在内存中分配大小相等的存储区作为缓冲区,并将这些缓冲区连接起来,每个缓冲区中有为缓冲区,并将这些缓冲区连接起来,每个缓冲区中有一个指向下一个缓冲区的指针,最后一个缓冲区的指针一个指向下一个缓冲区的指针,最后一个缓冲区的指针指向第一个缓冲区指向第一个缓冲区702/27/2022 为了充分利用这些缓冲资源,使进程的处理和为了充分利用这些缓冲资源,使进程的处理和I/O设
58、备的设备的工作具有较好的连续性,提高设备的利用率,将缓冲区分为工作具有较好的连续性,提高设备的利用率,将缓冲区分为以下两种类型:以下两种类型: 1 空缓冲区。准备接收输入的数据。空缓冲区。准备接收输入的数据。 2 满缓冲区。用于存放可供使用的数据。满缓冲区。用于存放可供使用的数据。过程:过程: 当循环缓冲接收数据时,将待传送的数据送当循环缓冲接收数据时,将待传送的数据送入入EMPTY指向的空缓冲区,填满后,让指向的空缓冲区,填满后,让EMPTY指向下一个空缓冲区。每次申请一个空指向下一个空缓冲区。每次申请一个空缓冲区时,需要判断缓冲区时,需要判断EMPTY是否与是否与FULL相等相等。假设相等
59、,表示系统中已没有空缓冲区,输。假设相等,表示系统中已没有空缓冲区,输入进程需要等待;否那么,可以继续输入。入进程需要等待;否那么,可以继续输入。 假设要从缓冲区取数据时,直接到假设要从缓冲区取数据时,直接到FULL所所指向的缓冲区中取,然后让指向的缓冲区中取,然后让FULL指向下一个满指向下一个满缓冲区。同样,每次缓冲区。同样,每次FULL指针移动时,需要判指针移动时,需要判断断FULL是否与是否与EMPTY相等。假设相等,表示相等。假设相等,表示缓冲区已无数据可取,等待缓冲区满后继续操缓冲区已无数据可取,等待缓冲区满后继续操作。作。712/27/2022特点:特点: 在主存中设置多个缓冲区
60、。读和写可以并行处理,适用在主存中设置多个缓冲区。读和写可以并行处理,适用于某种特定的输入输出进程和计算进程,如输入于某种特定的输入输出进程和计算进程,如输入/输出、生输出、生产者产者/消费者速度不相匹配的情况。消费者速度不相匹配的情况。 循环缓冲区属于专用缓冲区。当系统较大时,使用多循环缓冲区属于专用缓冲区。当系统较大时,使用多个这样的缓冲区要消耗大量的主存空间,降低缓冲区的使用个这样的缓冲区要消耗大量的主存空间,降低缓冲区的使用效率。效率。 两个缺点:两个缺点: 1当系统的资源较多时,就要占用大量的缓冲区,增当系统的资源较多时,就要占用大量的缓冲区,增加内存开销。加内存开销。 2可能会出现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单位房顶维修合同范例
- 外墙吊绳维修合同范例
- 外包送货司机合同模板
- 三河市二手房居间合同范例
- 培训合同模板教培合同模板
- 20245G网络覆盖优化项目合同
- 2024年度企业并购与重组咨询合同
- 《平安集团财务共享服务中心运行效果分析》
- 第二单元圆与长方形正方形三角形三大等积转化问题专项练习-2023-2024学年六年级数学上册典型例题(原卷版)西师大版
- 《《红楼梦》和《暗夜行路》主人公的比较研究》
- 安全生产专(兼)职管理人员职责
- 湖南省长沙市长沙市长郡集团联考2024-2025学年九年级上学期11月期中语文试题(含答案)
- 家具制造业售后服务预案
- 电子产品维修合同范本1
- 《篮球原地双手胸前传接球》教案 (三篇)
- 第7章-机器学习
- 2024年T电梯修理考试100题及答案
- 第1课 课题一《课外生活小调查·周末生活我采访》(教案)-2024-2025学年三年级上册综合实践活动浙教版
- 世界的气温和降水课件
- DBJ-T15-60-2019建筑地基基础检测规范
- Unit2 School things Lesson 3 (教学设计)-2024-2025学年人教精通版(2024)英语三年级上册
评论
0/150
提交评论