1、2022-11-6第6章设备管理第第6章设备管理章设备管理2022-11-6第6章设备管理设备管理的任务设备管理的任务n是完成用户提出的是完成用户提出的I/O请求,为用户分配请求,为用户分配I/O设设备,提高备,提高CPU与与I/O设备的利用率,提高设备的利用率,提高I/O设备的速度,方便用户使用设备的速度,方便用户使用I/O设备。设备。2022-11-6第6章设备管理6.1.1I/O6.1.1I/O系统的基本功能系统的基本功能n方便用户使用方便用户使用I/O设备设备u隐藏物理设备的细节隐藏物理设备的细节u与设备的无关性与设备的无关性n提高提高CPU和和I/O设备的利用率设备的利用率u提高提高
2、CPU和和I/O设备的利用率设备的利用率u对对I/O设备进行控制设备进行控制n为用户的共享设备时提供方便为用户的共享设备时提供方便u确保对设备的正确共享确保对设备的正确共享u错误处理错误处理2022-11-6第6章设备管理6.1.2 I/O6.1.2 I/O系统的层次和结构模型系统的层次和结构模型nI/OI/O层次结构层次结构u用户层用户层I/OI/O软件软件u设备独立性软件设备独立性软件u设备驱动程序设备驱动程序u中断处理程序中断处理程序2022-11-6第6章设备管理*I/OI/O层次结构层次结构n用户层软件用户层软件设备独立性软件设备独立性软件设备驱动程序设备驱动程序中断处理程序中断处理
3、程序硬件硬件实现与用户交互的接实现与用户交互的接口,产生口,产生I/O请求请求负责实现与设备驱动器的统一接口负责实现与设备驱动器的统一接口、设备命名,设备的保护,设备的、设备命名,设备的保护,设备的分配与释放,缓冲等。分配与释放,缓冲等。与硬件直接相关,负责具体实现系与硬件直接相关,负责具体实现系统对设备发出的操作指令,驱动统对设备发出的操作指令,驱动I/O设备工作的驱动程序设备工作的驱动程序保护环境,转入相应处理保护环境,转入相应处理程序,恢复现场等程序,恢复现场等执行执行I/O操作操作2022-11-6第6章设备管理*操作系统的操作系统的I/OI/O子系统通常由四个层次组成,每一层明确定义
4、了与邻近层次子系统通常由四个层次组成,每一层明确定义了与邻近层次的接口。其合理的层次组织排列顺序是的接口。其合理的层次组织排列顺序是(2012)(2012)A.用户级I/O软件、设备无关软件、设备驱动程序、中断处理程序B、用户级I/O软件、设备无关软件、中断处理程序、设备驱动程序C、用户级I/O软件、设备驱动程序、设备无关软件、中断处理程序D、用户级I/O软件、中断处理程序、设备无关软件、设备驱动程序用户程序发出磁盘用户程序发出磁盘I/OI/O请求后,系统的处理流程是:用户程序请求后,系统的处理流程是:用户程序-系统调用处系统调用处理程序理程序-设备驱动程序设备驱动程序-中断处理程序。其中,计
5、算数据所在磁盘的柱面中断处理程序。其中,计算数据所在磁盘的柱面号、磁头号、扇区号的程序是(号、磁头号、扇区号的程序是(2011,20132011,2013)A、用户程序 B、系统调用处理程序C、设备驱动程序 D、中断处理程序2022-11-6第6章设备管理*I/OI/O层次视图层次视图n用户层软件用户层软件设备独立性软件设备独立性软件设备驱动程序设备驱动程序中断处理程序中断处理程序硬件硬件I/O系统接口系统接口RW/HW接口接口2022-11-6第6章设备管理6.1.3 I/O6.1.3 I/O系统接口系统接口n块设备接口块设备接口u块设备:数据的存取和传输都是以数据块为单位块设备:数据的存取
6、和传输都是以数据块为单位的设备。特点:传输速率高,可寻址,的设备。特点:传输速率高,可寻址,DMADMA控制控制方式方式u隐藏了磁盘的二维结构隐藏了磁盘的二维结构u将抽象命令映射为低层操作将抽象命令映射为低层操作n流设备接口流设备接口u字符设备。特点:传输速率低,不可寻址,中断字符设备。特点:传输速率低,不可寻址,中断驱动方式驱动方式uGetGet操作和操作和putput操作操作uIn-controlIn-control指令指令n网络接口网络接口2022-11-6第6章设备管理6.2 I/O6.2 I/O设备和设备控制器设备和设备控制器 n I/O I/O设备由执行设备由执行I/OI/O操作的
7、机械部分和操作的机械部分和执行控制执行控制I/OI/O的电子部件(设备控制器)的电子部件(设备控制器)组成。组成。2022-11-6第6章设备管理6.2.1 I/O6.2.1 I/O设备设备1 1、I/OI/O设备的类型设备的类型按使用特性分按使用特性分n存储设备:用以存储信息的主要设备存储设备:用以存储信息的主要设备n输入输出设备:输入设备输入输出设备:输入设备,输出设备输出设备,交互式交互式设备设备2022-11-6第6章设备管理I/OI/O设备的分类设备的分类按传输速率分按传输速率分n低速设备:每秒几个到数百字节。如键盘、低速设备:每秒几个到数百字节。如键盘、鼠标鼠标n中速设备:每秒数千
8、到数万字节。如打印机中速设备:每秒数千到数万字节。如打印机n高速设备:每秒数百高速设备:每秒数百K K到数兆。如磁盘、磁带到数兆。如磁盘、磁带2022-11-6第6章设备管理按信息交换的单位分类按信息交换的单位分类n块设备块设备:I/O传输的单位是块,如磁盘、磁传输的单位是块,如磁盘、磁带。特征:速率高(几兆)、可寻址(可随带。特征:速率高(几兆)、可寻址(可随机访问任一块)、机访问任一块)、DMA方式驱动。方式驱动。n字符设备:字符设备:I/OI/O传输的单位是字节,如打印机、传输的单位是字节,如打印机、modemmodem等。特征:速率较低、不可寻址、中断等。特征:速率较低、不可寻址、中断
9、驱动。驱动。2022-11-6第6章设备管理 按设备共享属性分类按设备共享属性分类n独占型设备:在任一段时间内最多有一个进程占用独占型设备:在任一段时间内最多有一个进程占用它,字符设备及磁带机属独占型设备。即临界资源。它,字符设备及磁带机属独占型设备。即临界资源。n共享型设备:多个进程对它的访问可以交叉进行,共享型设备:多个进程对它的访问可以交叉进行,除磁带机外的块设备属共享设备除磁带机外的块设备属共享设备n虚拟设备:虚拟设备:在一类设备上模拟另一类设备,常用共在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备
10、称为虚被模拟的设备称为虚拟拟设备设备2022-11-6第6章设备管理2、设备与控制器之间的接口n通常,设备不是直接与通常,设备不是直接与CPUCPU进行通信,而是与设备控制进行通信,而是与设备控制器通信,因此在器通信,因此在I/OI/O设备中应含有与设备控制器间的接设备中应含有与设备控制器间的接口,在该接口中有三种类型的信号,各对应一条信号口,在该接口中有三种类型的信号,各对应一条信号线线2022-11-6第6章设备管理2、设备与控制器之间的接口n数据信号线数据信号线 用于在设备和设备控制器之间传送数据信号。用于在设备和设备控制器之间传送数据信号。n控制信号线控制信号线 作为由设备控制器向作为
11、由设备控制器向I/OI/O设备发送控制信号时的通路。设备发送控制信号时的通路。n状态信号线状态信号线 用于传送指示设备当前状态的信号。用于传送指示设备当前状态的信号。2022-11-6第6章设备管理6.2.26.2.2设备控制器设备控制器n设备控制器主要负责控制一个或多个设备控制器主要负责控制一个或多个I/OI/O设备,设备,以实现以实现I/OI/O设备和计算机之间的数据交换。它设备和计算机之间的数据交换。它是是CPUCPU与与I/OI/O设备之间的接口设备之间的接口,接收从,接收从CPUCPU发来发来的命令,并控制的命令,并控制I/OI/O设备工作,以使设备工作,以使CPUCPU从繁杂从繁杂
12、的设备控制事务中解脱出来。的设备控制事务中解脱出来。n是一个可编址设备,每一个地址对应一个设备。是一个可编址设备,每一个地址对应一个设备。n设备控制器可分为两类,一类用于控制字符设设备控制器可分为两类,一类用于控制字符设备的控制器,另一类是用于控制块设备的控制备的控制器,另一类是用于控制块设备的控制器。器。n在微型机中的控制器,常做成印刷电路卡,因在微型机中的控制器,常做成印刷电路卡,因而也常称为接口卡而也常称为接口卡2022-11-6第6章设备管理设备控制器的基本功能设备控制器的基本功能n接收和识别命令接收和识别命令n数据交换数据交换n标识和报告设备的状态标识和报告设备的状态n地址识别地址识
13、别n数据缓冲数据缓冲n差错控制差错控制2022-11-6第6章设备管理设备控制器的组成设备控制器的组成n由于设备控制器位于由于设备控制器位于CPUCPU与设备之间,它既要与设备之间,它既要与与CPUCPU通信,又要与设备通信,还应具有按照通信,又要与设备通信,还应具有按照CPUCPU所发来的命令去控制设备的工作的功能,所发来的命令去控制设备的工作的功能,因此现有的大多数控制器都是由三部分组成因此现有的大多数控制器都是由三部分组成u设备控制器与处理机的接口设备控制器与处理机的接口u设备控制器与设备的接口设备控制器与设备的接口uI/OI/O逻辑逻辑2022-11-6第6章设备管理设备控制器的组成设
14、备控制器的组成2022-11-6第6章设备管理6.2.36.2.3内存映像内存映像I/OI/O2022-11-6第6章设备管理6.2.36.2.3内存映像内存映像I/OI/O2022-11-6第6章设备管理I/O通道通道虽然在CPU与I/O设备之间增加了设备控制器后,已能大大减少CPU对I/O的干预,但当一个系统配置的设备较多时,I/O操作较为频繁的情况下,CPU可能完全陷入I/O处理,这样会大大地降低计算机系统的效率,解决的方法就是用到通道技术。2022-11-6第6章设备管理n通道方式的目的使一些原来由CPU处理的I/O任务转由通道来承担,从而使CPU彻底从I/O中解放出来。当用户发出I/
15、O请求后,CPU就把该请求全部交由通道去完成。通道在整个I/O任务结束后,才发出中断信号,请求CPU进行善后处理。不仅数据传输独立于CPU,而且I/O操作的组织管理也独立于CPU。I/O通道的引入通道的引入:2022-11-6第6章设备管理 为使中央处理机从繁忙的I/O处理中摆脱出来,现代大、中型计算机系统中设置了专门的处理I/O操作的处理机,并把这种处理机称为通道。通道在CPU的控制下独立地执行通道程序,对外部设备的I/O操作进行控制,以实现内存与外设之间成批的数据交换。通道=I/O处理机 通道概念通道概念2022-11-6第6章设备管理 I/O通道与一般的处理机不同,主要表现在以下两个方面
16、:n指令类型单一,这是由于通道硬件比较简单,其所能执行的命令,主要局限于与I/O操作有关的指令;n通道没有自己的内存,通道所执行的通道程序是放在主机的内存中的,换言之,是通道与CPU共享内存。2022-11-6第6章设备管理I/O通道通道nI/O通道的分类通道的分类 u字节多路通道字节多路通道u数据选择通道数据选择通道u数组多路通道数组多路通道2022-11-6第6章设备管理通道的种类通道的种类n字节多路通道:字节多路通道:u字节多路通道是以字节为基本传输单位,通常含有许多非分配型子通道,其数量从几十到数百个,每一个子通道连接一台I/O设备,并控制该设备的I/O操作。这些子通道按时间片轮转主式
17、共享主通道。u当一个子通道控制的某台外设交换了一个字节后,就转向下一个子通道,以控制下一台设备传送一个字节。这就实现了子通道的循环轮转,以达到多路控制的目的,字节多路通道主要用来控制低速、并且以字节为基本传送单位的设备。如打印机。2022-11-6第6章设备管理2022-11-6第6章设备管理n数组选择通道:数组选择通道:字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道的形成。这种通道虽然可以连接多台高速设备,但由于它只含有一个分配型子通道,在一段时间内只能执行一道通道程序,控制一台设备进行数据传送,致使当某台设备占用了该通道后,便一直由它独占,即使是它无数据传送,
18、通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放该通道。它的优点是传输速度高,缺点是一次只能控制一台设备进行I/O操作,利用率低。它主要用来控制高速外设。如磁盘选择通道选择通道2022-11-6第6章设备管理 n数组多路通道:数组多路通道:这种通道是上述两种通道的折中,可以分时的方式执行多道程序,每道程序可传送一组数据。因而这种通道既具有很高的数据传输速率,又能获得令人满意的通道利用率。也正因此,才使该通道能被广泛地用于连接多台高、中速的外围设备,其数据传送是按数组方式进行的。在一大型系统中可以同时存在这三种类型的通在一大型系统中可以同时存在这三种类型的通道以便控制各种不同类型的
19、设备。道以便控制各种不同类型的设备。2022-11-6第6章设备管理 通道通道 I/O I/O 系 统系 统结构结构在大型计在大型计算机系统算机系统中较为典中较为典型的型的I/OI/O系系统结构是统结构是主机、通主机、通道、控制道、控制器和外部器和外部设备。设备。2022-11-6第6章设备管理“瓶颈瓶颈”问题问题 图 5-4 单通路I/O系统 2022-11-6第6章设备管理图 5-5 多通路I/O系统 解决“瓶颈”问题的最有效方法就是增加设备到主机间的通路而不增加通道 2022-11-6第6章设备管理练习练习n通道是I/O处理机,它用于实现_之间的信息传输;n_用作连接大量的低速或中速设备
20、;A、数据选择通道 B、字节多路通道C、数据多路通道n按_分类可将设备分为块设备和字符设备。A、从属关系 B、操作特性C、共享属性 D、信息交换单位2022-11-6第6章设备管理练习练习n硬盘属于()A、字符型设备 B、独占型设备 C、块设备 D、虚拟设备 n所有的块型设备都是共享设备。()n打印机是一类典型的块设备。()。()n选择通道主要用于连接低速设备.()()2022-11-6第6章设备管理6.3中断机构和中断处理程序中断机构和中断处理程序n中断的简介中断的简介 F中断是由于某些事件的出现,中止现行进程的执行,中断是由于某些事件的出现,中止现行进程的执行,而转去处理出现的事件,中断事
21、件处理完后,再继续而转去处理出现的事件,中断事件处理完后,再继续运行被中止进程的过程。运行被中止进程的过程。F在这里引起中断的事件称为中断源。中断事件通常由在这里引起中断的事件称为中断源。中断事件通常由硬件发现硬件发现n中断的处理中断的处理 F对出现的事件进行处理的程序称为中断处理程序。中对出现的事件进行处理的程序称为中断处理程序。中断处理程序是由操作系统处理的,属于操作系统的组断处理程序是由操作系统处理的,属于操作系统的组成部分成部分2022-11-6第6章设备管理中断的简介中断的简介 2022-11-6第6章设备管理中断的简介中断的简介 n 2022-11-6第6章设备管理中断的处理中断的
22、处理n中断处理过程中断处理过程u测定是否有未响应的中断信号。测定是否有未响应的中断信号。u保护被中断进程的保护被中断进程的CPU环境。环境。u转入相应的设备处理程序。转入相应的设备处理程序。u中断处理。中断处理。u恢复现场,退出中断。恢复现场,退出中断。2022-11-6第6章设备管理图 6-10 中断现场保护示意图 2022-11-6第6章设备管理图 6-11 中断处理流程2022-11-6第6章设备管理6.4 设备驱动程序设备驱动程序n设备处理程序通常又称为设备驱动程序,它设备处理程序通常又称为设备驱动程序,它是是I/O进程与设备控制器之间的通信程序,又进程与设备控制器之间的通信程序,又由
23、于它常以进程的形式存在,所以简称之为由于它常以进程的形式存在,所以简称之为设备驱动进程设备驱动进程n主要任务:接收上层软件发来的抽象要求,主要任务:接收上层软件发来的抽象要求,把它转换为具体要求后,发送给设备控制器,把它转换为具体要求后,发送给设备控制器,启动设备去执行。也将由设备控制器发来的启动设备去执行。也将由设备控制器发来的信号传送给上层软件。信号传送给上层软件。n通常,每一类设备配置一种驱动程序。通常,每一类设备配置一种驱动程序。2022-11-6第6章设备管理设备驱动程序的功能和特点设备驱动程序的功能和特点n设备驱动程序的功能设备驱动程序的功能 u一是接收设备独立性软件发来的命令和参
24、数,把一是接收设备独立性软件发来的命令和参数,把抽象要求转化为具体要求。抽象要求转化为具体要求。u二是检查用户二是检查用户I/O请求的合法性,了解请求的合法性,了解I/O设备的设备的状态,传递有关参数,设置设备的工作方式。状态,传递有关参数,设置设备的工作方式。u三是发出三是发出I/O 命令,启动分配到的命令,启动分配到的I/O设备,完成设备,完成指定的指定的I/O操作。操作。u四是及时响应由控制器或通道发来的中断请求,四是及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行并根据其中断类型调用相应的中断处理程序进行处理。处理。2022-11-6第6章设备管理设备驱
25、动程序的功能和特点设备驱动程序的功能和特点n设备驱动程序的特点设备驱动程序的特点u一是驱动程序主要是在请求一是驱动程序主要是在请求I/O的进程与设备控制的进程与设备控制器之间的一个通信程序。器之间的一个通信程序。u二是驱动程序与二是驱动程序与I/O设备的特性密切相关。设备的特性密切相关。u三是驱动程序与三是驱动程序与I/O控制方式紧密相关。控制方式紧密相关。u四是驱动程序与硬件紧密相关,其部分被固化在四是驱动程序与硬件紧密相关,其部分被固化在ROM 中。中。u五是驱动程序应允许可重入五是驱动程序应允许可重入u六是驱动程序不允许系统调用。六是驱动程序不允许系统调用。2022-11-6第6章设备管
26、理设备驱动程序的功能和特点设备驱动程序的功能和特点n设备处理的方式设备处理的方式 u一是为每一类设备设置一个进程,它专门执行这一是为每一类设备设置一个进程,它专门执行这类设备的类设备的I/O操作。操作。u二是在整个系统中设置一个二是在整个系统中设置一个I/O进程,专门负责对进程,专门负责对系统中所有各类设备的系统中所有各类设备的I/O操作。操作。u三是不设置专门的设备处理进程,只为各类设备三是不设置专门的设备处理进程,只为各类设备设置相应的设备处理程序,供用户进程或系统进设置相应的设备处理程序,供用户进程或系统进程调用。程调用。2022-11-6第6章设备管理设备驱动程序的处理过程设备驱动程序
27、的处理过程n主要任务:启动指定设备主要任务:启动指定设备n将抽象要求转化为具体要求将抽象要求转化为具体要求 n检查检查I/O请求的合法性请求的合法性 n读出和检查设备的状态读出和检查设备的状态 n传送必要的参数传送必要的参数 n设置工作方式设置工作方式 n启动启动I/O 设备设备 2022-11-6第6章设备管理练习练习n 设备驱动程序与()密切相关,如果计算机中配置有一个光盘,一个软盘,一个硬盘,此时应为它们配置()种外存设备驱动程序。如果系统中连接有四个相同的终端设备,此时应为它们配置()个终端设备驱动程序2022-11-6第6章设备管理6.4.3 对对I/O设备控制方式设备控制方式n轮询
28、的可编程轮询的可编程I/OI/O方式方式 nI/OI/O中断方式中断方式 nDMADMA方式方式 n通道方式通道方式 中断中断DMA通道通道2022-11-6第6章设备管理1 1 程序程序I/OI/O方式方式早期,早期,I/OI/O控制器控制器是是OSOS同硬件之间的接口同硬件之间的接口p(147)p(147)。它有两个寄存器:。它有两个寄存器:数据缓冲寄存器数据缓冲寄存器、控制控制/状态寄存器状态寄存器。状态控制寄存器有一个标。状态控制寄存器有一个标志忙志忙/闲的标志位闲的标志位busybusy。CPU外部设备控控制制逻逻辑辑电电路路控制寄存器控制寄存器I/O控制器控制器数据寄存器数据寄存器
29、2022-11-6第6章设备管理工作过程工作过程以输入为例以输入为例1 1、把把busybusy置置1 12 2、反复测试反复测试busybusy,为,为1 1表示输入机尚未输完一个字,表示输入机尚未输完一个字,处理机应继续对该标志进行测试,转处理机应继续对该标志进行测试,转2 2,为,为0 0表示输表示输入机已将输入数据送入控制器的数据寄存器中,转入机已将输入数据送入控制器的数据寄存器中,转3 33 3、把数据从数据缓冲区中读走,并置把数据从数据缓冲区中读走,并置busybusy为为1 1。n所谓所谓“程序循环测试程序循环测试”的数据传输方式,就是指用的数据传输方式,就是指用户进程使用启动设
30、备后,不断地执行测试指令,去户进程使用启动设备后,不断地执行测试指令,去测试所启动设备的状态寄存器。只有在状态寄存器测试所启动设备的状态寄存器。只有在状态寄存器出现了所需要的状态后,才停止测试工作,完成输出现了所需要的状态后,才停止测试工作,完成输入入/输出。输出。忙忙-等待方式等待方式2022-11-6第6章设备管理 在程序I/O方式中,由于CPU的高速性和I/O设备的低速性,致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费。在该方式中,CPU之所以要不断地测试I/O设备的状态,就是因为在CPU中无中断机构,使I/O设备无法向CPU报告它已完成了
31、一个字符的输入操作。2022-11-6第6章设备管理2 I/O中断方式中断方式I/OI/O控制器能发中断控制器能发中断。工作过程:工作过程:1 1、发出启动某设备的命令,本进程(、发出启动某设备的命令,本进程(A A)变为等待)变为等待状态,转进程调度,调度另一进程状态,转进程调度,调度另一进程B B。2 2、输入完成时,控制器发出中断,中断、输入完成时,控制器发出中断,中断B B,通过中,通过中断进入中断处理程序。断进入中断处理程序。3 3、在中断处理程序中把数据缓冲寄存器中的数取走,、在中断处理程序中把数据缓冲寄存器中的数取走,放入内存特定位置放入内存特定位置M M,唤醒等待进程,唤醒等待
32、进程A A,中断返回,中断返回到到B B的断点继续执行。的断点继续执行。4 4、在以后的某个时刻、在以后的某个时刻OSOS调度要求输入的进程调度要求输入的进程A A。A A从从M M取数处理。取数处理。2022-11-6第6章设备管理2022-11-6第6章设备管理 在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去做些中断处理。可见,这样可使CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。例如,从终端输入一个字符的时间约为100 ms,而将字符送入终端缓冲区的时间小于 0.1 ms
33、。若采用程序I/O方式,CPU约有 99.9 ms的时间处于忙等待中。采用中断驱动方式后,CPU可利用这 99.9 ms的时间去做其它事情,而仅用 0.1 ms的时间来处理由控制器发来的中断请求。可见,中断驱动方式可以成百倍地提高CPU的利用率。2022-11-6第6章设备管理分析分析同前相比,同前相比,CPU利用率大大提高。利用率大大提高。缺点:每台设备每输入输出一个字节的数据都缺点:每台设备每输入输出一个字节的数据都有一次中断。如果设备较多时,中断次数会有一次中断。如果设备较多时,中断次数会很多,使很多,使CPU的计算时间大大减少。的计算时间大大减少。为减少中断对为减少中断对CPU造成的负
34、担,可采用造成的负担,可采用DMA方方式和通道方式。式和通道方式。2022-11-6第6章设备管理3 直接存储器访问(直接存储器访问(DMA)方式方式n直接存储器存取控制方式的概念直接存储器存取控制方式的概念 u是指对是指对I/O设备的控制由设备的控制由DMA控制器完成,在控制器完成,在DMA控制器的作用下,设备和主存之间可以控制器的作用下,设备和主存之间可以成批地进行数据交换,而不用成批地进行数据交换,而不用CPU的干涉。的干涉。2022-11-6第6章设备管理5.2.3 DMA方式方式n直接存储器存取控制方式的概念直接存储器存取控制方式的概念 u该方式的特点是:u 数据传输的基本单位是数据
35、块,即在CPU与I/O设备之间,每次传送至少一个数据块;u 所传送的数据是从设备直接送入内存的,或者相反;u 仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。u可见,DMA方式较之中断驱动方式,又是成百倍地减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。2022-11-6第6章设备管理DMA方式方式控制器功能更强,除有中断功能外,还有一个控制器功能更强,除有中断功能外,还有一个DMADMA控控制机构。在制机构。在DMADMA控制器的控制下,控制器的控制下,设备同主存之间可设备同主存之间可成批交换数据,不用成批交换数据,不
36、用CPUCPU干预。干预。DMADMA控制器组成:主机与控制器组成:主机与DMADMA控制器的接口;控制器的接口;DMADMA控制器控制器与块设备的接口;与块设备的接口;I/OI/O控制逻辑控制逻辑2022-11-6第6章设备管理DMA方式方式DMADMA控制器组成:主机与控制器组成:主机与DMADMA控制器的接口;控制器的接口;DMADMA控制控制器与块设备的接口;器与块设备的接口;I/OI/O控制逻辑控制逻辑为了实现在主机与控制器之间的成块数据的直接交换,为了实现在主机与控制器之间的成块数据的直接交换,须在须在DMADMA控制器中设置如下四类寄存器:控制器中设置如下四类寄存器:命令命令/状
37、态寄状态寄存器存器CRCR;内存地址寄存器;内存地址寄存器MARMAR;数据寄存器;数据寄存器DRDR;数据;数据计数器计数器DCDC。2022-11-6第6章设备管理 DMA方式工作过程方式工作过程n直接存储器存取控制方式的步骤直接存储器存取控制方式的步骤(P197)u 当进程要求设备输入一批数据时,当进程要求设备输入一批数据时,CPU将设备存放输入数据的将设备存放输入数据的内存始址以及要传送的字节数分别送入内存始址以及要传送的字节数分别送入DMA控制器中的地址寄存控制器中的地址寄存器器MAR和数据计数器和数据计数器DC;另外,还要将磁盘中的源地址直接送至;另外,还要将磁盘中的源地址直接送至
38、DMA控制器的控制器的I/O控制逻辑上。控制逻辑上。u 发出数据要求的进程进入等待状态,进程调度程序调度其他进发出数据要求的进程进入等待状态,进程调度程序调度其他进程占据程占据CPU。u 输入设备不断从磁盘中读入一个字的数据并送入数据寄存器输入设备不断从磁盘中读入一个字的数据并送入数据寄存器DR中,再挪用一个存储器周期,将数据寄存器中的数据写入内存,中,再挪用一个存储器周期,将数据寄存器中的数据写入内存,MAR+1,DC-1,若,若DC不为不为0则继续传下一个字。则继续传下一个字。u DMA控制器在传送字节数完成时,通过中断请求线发出中断信控制器在传送字节数完成时,通过中断请求线发出中断信号,
39、号,CPU收到中断信号后转中断处理程序,唤醒等待输入完成的收到中断信号后转中断处理程序,唤醒等待输入完成的进程,并返回被中断的程序。进程,并返回被中断的程序。u 在以后的某个时刻,进程调度程序选中提出请求输入的进程,在以后的某个时刻,进程调度程序选中提出请求输入的进程,该进程从指定的内存始址取出数据做进一步处理。该进程从指定的内存始址取出数据做进一步处理。2022-11-6第6章设备管理3.DMA工作过程工作过程 图 5-9 DMA方式的工作流程 2022-11-6第6章设备管理直接存储器存取控制直接存储器存取控制n直接存储器存取控制方式的特点直接存储器存取控制方式的特点uI/O数据传输速度快
40、,数据传输速度快,CPU负担少。负担少。u在在DMA方式下,数据的传送方向、存放数据的内方式下,数据的传送方向、存放数据的内存始址及传送数据的长度等都由存始址及传送数据的长度等都由CPU控制。每台控制。每台设备需要配一个设备需要配一个DMA控制器。控制器。2022-11-6第6章设备管理DMA方式与中断的主要区别方式与中断的主要区别n中断方式是在数据缓冲寄存区满后,发中断中断方式是在数据缓冲寄存区满后,发中断请求,请求,CPU进行中断处理进行中断处理 DMA方式则是在所要求传送的数据块全部方式则是在所要求传送的数据块全部传送结束时要求传送结束时要求CPU进行中断处理进行中断处理 大大减少了大大
41、减少了CPU进行中断处理的次数进行中断处理的次数n中断方式的数据传送是由中断方式的数据传送是由CPU控制完成的控制完成的 而而DMA方式则是在方式则是在DMA控制器的控制下不控制器的控制下不经过经过CPU控制完成的控制完成的2022-11-6第6章设备管理实现流程实现流程2022-11-6第6章设备管理4 I/O4 I/O通道控制方式通道控制方式 1.I/O通道控制方式的引入通道控制方式的引入 虽然虽然DMA方式比起中断方式来,已经显著地减少了方式比起中断方式来,已经显著地减少了CPU的干预,即已由以字的干预,即已由以字(节节)为单位的干预减少到以数据块为单位的干预减少到以数据块为单位的干预,
42、但为单位的干预,但CPU每发出一条每发出一条I/O指令,也只能去读一指令,也只能去读一个连续的数据块,要是一次去读多个数据块且将它们分别传个连续的数据块,要是一次去读多个数据块且将它们分别传送到不同的内存区域,则须由送到不同的内存区域,则须由CPU发出多条发出多条I/O指令,进行指令,进行多次中断。多次中断。2022-11-6第6章设备管理5.2.4 I/O5.2.4 I/O通道控制方式通道控制方式 1.I/O通道控制方式的引入通道控制方式的引入 I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和
43、管理为单位的干预。同时,又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务。2022-11-6第6章设备管理2 2 通道程序通道程序 通道有它自己的指令系统,用一系列通道指通道有它自己的指令系统,用一系列通道指令构成的程序叫令构成的程序叫通道程序通道程序。通道通过执行通道程序,并与设备控制器共通道通过执行通道程序,并与设备控制器共同实现对同实现对I/
44、OI/O设备的控制。设备的控制。通道只能执行通道程序,不可能执行用户进通道只能执行通道程序,不可能执行用户进程。程。2022-11-6第6章设备管理n通道有自己的指令系统,它与一般的机器通道有自己的指令系统,它与一般的机器指令不同,在它的每条指令中都包含下列指令不同,在它的每条指令中都包含下列诸信息:操作码;内存地址;计数;通道诸信息:操作码;内存地址;计数;通道程序结束位程序结束位P;记录结束标志;记录结束标志R2022-11-6第6章设备管理操作操作 PR计数计数内存地址内存地址WRITE 0080813WRITE001401034WRITE01605830WRITE013002000WR
45、ITE002501850WRITE112507202022-11-6第6章设备管理n若干通道命令字构成一个若干通道命令字构成一个“通道程序通道程序”,它规定了,它规定了设备应该执行的各种操作和顺序。在设备应该执行的各种操作和顺序。在CPU启动通道启动通道后,由通道执行通道程序,完成后,由通道执行通道程序,完成CPU所交给的所交给的I/O任务。通常,通道程序存放在通道自己的存储部件任务。通常,通道程序存放在通道自己的存储部件里。当通道中没有存储部件时,就存放在内存储器里。当通道中没有存储部件时,就存放在内存储器里。这时,为了使通道能取到通道程序去执行,必里。这时,为了使通道能取到通道程序去执行,
46、必须把存放通道程序的内存起始地址告诉通道。存放须把存放通道程序的内存起始地址告诉通道。存放这个起始地址的内存固定单元,被称为这个起始地址的内存固定单元,被称为“通道地址通道地址字字”。2022-11-6第6章设备管理通道的工作过程通道的工作过程n某进程在运行过程中,若提出了I/O请求,只需向通道I/O通道发一条I/O指令,以给出其所要执行的通道程序的始址和要访问的I/O设备;n用户进程阻塞以等待I/O完成n通道则通过执行通道程序控制设备控制器,控制设备完成指定的I/O任务。n发出中断信号通知CPU通道程序已执行完成。nCPU响应中断,进行善后处理并唤醒被阻塞的用户进程2022-11-6第6章设
47、备管理 n通道是一种特殊的(),具有()能力。主通道是一种特殊的(),具有()能力。主机的机的CPUCPU与通道可以并行工作,并通过()实与通道可以并行工作,并通过()实现彼此之间的通信和同步现彼此之间的通信和同步。1、I/O设备设备 2、设备控制器、设备控制器 3、处理机、处理机 4、I/O控制器控制器1、执行、执行I/O指令集指令集 2、执行、执行CPU指令集指令集 3、传输、传输I/O命令命令 4、运行、运行I/O进程进程1、I/O指令指令 2、I/O中断中断 3、I/O指令和指令和I/O中断中断 4、操作员、操作员2022-11-6第6章设备管理 n在程序在程序I/OI/O方式中,对于
48、输出设备,准备就绪方式中,对于输出设备,准备就绪就是指就是指1、输出缓冲区已空、输出缓冲区已空 2、输出缓冲区已有数据、输出缓冲区已有数据 3、输出设备已开始工作、输出设备已开始工作 4、输出设备已收到、输出设备已收到I/O指令指令n不使用中断机制的不使用中断机制的I/O控制方式是控制方式是_n如果如果I/O设备与存储设备进行数据交换不经过设备与存储设备进行数据交换不经过CPU来来完成,这种数据交换方式是完成,这种数据交换方式是_。A、程序查询、程序查询 B、中断方式、中断方式 C、DMA方式方式n在中断驱动方式中,在中断驱动方式中,CPU是以是以_为单位对为单位对I/O进行干预的;进行干预的
49、;DMA方式时,是以方式时,是以_为单位进为单位进行干预的;行干预的;I/O通道方式是以通道方式是以_为单位进行干为单位进行干预的。预的。2022-11-6第6章设备管理6.5设备无关的设备无关的I/O软件软件n设备独立性概念(设备无关性)设备独立性概念(设备无关性)u应用程序中所使用的设备,不局限于使用某个具应用程序中所使用的设备,不局限于使用某个具体的物理设备。体的物理设备。F应用程序独立于具体使用的物理设备。在应用程序中,应用程序独立于具体使用的物理设备。在应用程序中,使用使用逻辑设备逻辑设备名称来请求使用某类设备名称来请求使用某类设备。系统在实际。系统在实际执行时,必须使用执行时,必须
50、使用物理设备物理设备名称名称2022-11-6第6章设备管理设备独立性设备独立性n设备独立性好处(设备无关性)设备独立性好处(设备无关性)u设备分配时的灵活性设备分配时的灵活性。如果一个系统中有若干台相同的。如果一个系统中有若干台相同的设备,用户编程时不指定使用哪一个具体的设备,而仅设备,用户编程时不指定使用哪一个具体的设备,而仅说明要使用哪一类设备,系统根据当前这一类设备的具说明要使用哪一类设备,系统根据当前这一类设备的具体状况给用户分配一台具体的设备。体状况给用户分配一台具体的设备。u易于实现易于实现I/OI/O重定向重定向。用于。用于I/OI/O操作的设备可以更换(重操作的设备可以更换(
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。