第五章设备管理8课时_第1页
第五章设备管理8课时_第2页
第五章设备管理8课时_第3页
第五章设备管理8课时_第4页
第五章设备管理8课时_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

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

文档简介

1、 操作系统 第五章 设备管理1 1第五章 设备管理5.1 输入输出管理概念5.2 数据传送控制方式5.3 中断技术5.4 缓冲技术5.5 设备分配5.6 I/O进程控制5.7 设备驱动程序5.8 磁盘的驱动调度 操作系统 第五章 设备管理2 25.1 输入输出管理概念一、设备管理的目的:1 1)合理地利用外部设备)合理地利用外部设备: :提高设备的并行性和均衡性提高设备的并行性和均衡性。2 2)方便用户:)方便用户:对各种不同的设备都使用同一界面。对各种不同的设备都使用同一界面。二、设备管理的功能 根据各类设备的特点确定相应的分配策略。(根据各类设备的特点确定相应的分配策略。(包括:包括:设备

2、分配策略,分配的方式,分配技术和选择用户的设备分配策略,分配的方式,分配技术和选择用户的算法算法。)。) 启动设备完成实际的输入输出操作。启动设备完成实际的输入输出操作。 向用户提供统一、友好的使用界面。(设备独立性)向用户提供统一、友好的使用界面。(设备独立性) 优化设备的调度、提高设备的利用率。优化设备的调度、提高设备的利用率。外部设备:除除CPUCPU、主存之外的其它设备。、主存之外的其它设备。 操作系统 第五章 设备管理3 3三、设备的分类 计算机的计算机的I/OI/O设备种类很多,结构也较复杂,管理起设备种类很多,结构也较复杂,管理起来较困难,为了管理上的方便。通常按不同的观点从不来

3、较困难,为了管理上的方便。通常按不同的观点从不同的角度对设备进行分类。同的角度对设备进行分类。1按所属关系分类1 1)系统设备。系统设备。指在操作系统生成时已登记于系统中的指在操作系统生成时已登记于系统中的标标准设备准设备。如键盘、打印机、磁盘等。如键盘、打印机、磁盘等。2 2)用户设备。用户设备。指在系统生成时未登记于系统中的指在系统生成时未登记于系统中的非标准非标准设备设备。用户必须用某种方式把这类设备交给系统统一管理,。用户必须用某种方式把这类设备交给系统统一管理,如绘图机、扫描仪等,如绘图机、扫描仪等, 操作系统 第五章 设备管理4 42从资源分配角度分类1 1)独占设备。独占设备。指

4、在系统运行过程中,一经分配给某一作业,指在系统运行过程中,一经分配给某一作业,就在作业整个运行期间都为它独占的设备,如就在作业整个运行期间都为它独占的设备,如打印机、卡打印机、卡片输入机片输入机等。等。2 2)共享设备。共享设备。指允许若干个用户同时共享使用的设备,如指允许若干个用户同时共享使用的设备,如磁盘、磁带磁盘、磁带等。等。3 3)虚拟设备。虚拟设备。为提高设备的利用率,通过为提高设备的利用率,通过Spooling技术把技术把独占设备改造为共享设备,用来模拟独占设备的那部分共享独占设备改造为共享设备,用来模拟独占设备的那部分共享设备称为设备称为虚拟设备虚拟设备。 操作系统 第五章 设备

5、管理5 53从设备的使用特性分类1 1) 存储设备。存储设备。指计算机用来存储信息的设备:如磁盘、指计算机用来存储信息的设备:如磁盘、磁带等。磁带等。2 2) 输入输出设备。输入输出设备。包括输入设备和输出设备两大类。包括输入设备和输出设备两大类。输入设备输入设备:是将外部世界来的信息输送给计算机,如键盘、:是将外部世界来的信息输送给计算机,如键盘、鼠标器、扫描仪等。鼠标器、扫描仪等。输出设备:输出设备:是将计算机处理或加工好的信息输出给外部世是将计算机处理或加工好的信息输出给外部世界,如打印机、显示器、绘图机等。界,如打印机、显示器、绘图机等。3 3) 终端设备。终端设备。 操作系统 第五章

6、 设备管理6 64按信息交换方式分类1 1)块设备。)块设备。指计算机的主存和外设之间的信息交换是以块指计算机的主存和外设之间的信息交换是以块为单位进行的设备。一块通常是为单位进行的设备。一块通常是512512个字节或个字节或1K1K字节,由于字节,由于信息交换以块为单位进行,所以这类设备有较高的存取速信息交换以块为单位进行,所以这类设备有较高的存取速度;如度;如磁盘、磁带磁盘、磁带等。等。2 2)字符设备。)字符设备。指计算机的主存与设备之间的信息交换是以指计算机的主存与设备之间的信息交换是以字符为单位进行的设备,由于每次只能传送一个字符的信息,字符为单位进行的设备,由于每次只能传送一个字符

7、的信息,所以这类设备的速度较低,如所以这类设备的速度较低,如键盘、显示器、打印机、卡片键盘、显示器、打印机、卡片输入机输入机等。等。 操作系统 第五章 设备管理7 7 计算机系统的输入输出设备种类、型号、规格繁多,所计算机系统的输入输出设备种类、型号、规格繁多,所以必须屏蔽设备的物理特性,向用户提供一个统一、简便的以必须屏蔽设备的物理特性,向用户提供一个统一、简便的使用接口,实现所谓的与设备无关性(设备独立性)。使用接口,实现所谓的与设备无关性(设备独立性)。 所谓所谓方便方便,是指用户能摆脱具体物理设备的繁琐规定的,是指用户能摆脱具体物理设备的繁琐规定的束缚而方便灵活地使用设备。束缚而方便灵

8、活地使用设备。 所谓所谓统一统一,是指对各种不同的设备都使用同一界面。例是指对各种不同的设备都使用同一界面。例如,在如,在UNIXUNIX系统中从各种输入设备输入信息都使用系统调用系统中从各种输入设备输入信息都使用系统调用read,read,向各种输出设备传送信息都使用系统调用向各种输出设备传送信息都使用系统调用write.write.四、设备独立性(设备无关性)逻辑设备名:逻辑设备名:用户自己指定的设备名(设备类用户自己指定的设备名(设备类相对号)。相对号)。物理设备名物理设备名:系统提供的设备标准名称(绝对号)。:系统提供的设备标准名称(绝对号)。( (一一) )设备独立性:设备独立性:用

9、户在编制程序时使用的设备与实际使用户在编制程序时使用的设备与实际使用的设备无关,用户程序中使用的是逻辑设备。用的设备无关,用户程序中使用的是逻辑设备。 操作系统 第五章 设备管理8 81 1、一个程序应该独立于分配给它的某种类型的具体设备。、一个程序应该独立于分配给它的某种类型的具体设备。 1 1)保护程序不会因为某一台物理设备发生故障或已分)保护程序不会因为某一台物理设备发生故障或已分配给其它程序而失效;配给其它程序而失效; 2 2)使操作系统根据当时总的设备配置情况自由地分配)使操作系统根据当时总的设备配置情况自由地分配适当类型的设备。适当类型的设备。2 2、一个程序应该尽可能与它所使用的

10、、一个程序应该尽可能与它所使用的I/OI/O设备类型无关。设备类型无关。 指在指在I/OI/O信息时,可以从不同类型的设备上信息时,可以从不同类型的设备上I/OI/O,若要改,若要改变设备的类型,程序只需做很少的修改。变设备的类型,程序只需做很少的修改。(二)设备独立性的类型:逻辑设备名逻辑设备名物理设备名物理设备名设备管理设备管理 操作系统 第五章 设备管理9 9(三)设备管理分为两层:1 1)输入输出控制系统)输入输出控制系统 它与用户相互交互,完成设备的分配、调度并向程它与用户相互交互,完成设备的分配、调度并向程序员提供一个统一的编程接口,实现了逻辑设备向物理设序员提供一个统一的编程接口

11、,实现了逻辑设备向物理设备的转换。备的转换。2 2)设备驱动程序)设备驱动程序 它直接与设备打交道,控制设备控制器,完成具体它直接与设备打交道,控制设备控制器,完成具体的输入输出。的输入输出。 实现设备无关性的一个好办法就是采用分层思想,逐实现设备无关性的一个好办法就是采用分层思想,逐层抽象。层抽象。 操作系统 第五章 设备管理1010( (四四) )设备组成设备组成 I IO O设备一般由设备一般由机械机械和和电子电子两部分组两部分组成,成, 把这两部分分开处理,以提供更加模把这两部分分开处理,以提供更加模块化、更加通用的设计。块化、更加通用的设计。机械部分是设备本身(物理装置)机械部分是设

12、备本身(物理装置)电子部分是设备控制器或适配器电子部分是设备控制器或适配器 在小型和微型机中,它常采用印刷电路在小型和微型机中,它常采用印刷电路卡插入计算机中(接口)的方式,卡插入计算机中(接口)的方式,完成设完成设备与主机间的连接和通讯。备与主机间的连接和通讯。 操作系统 第五章 设备管理1111设备通过设备通过设备控制器设备控制器与与CPUCPU进行通信。进行通信。设备中含有与设备控制器间的接口,它通设备中含有与设备控制器间的接口,它通常是一个标准接口,符合常是一个标准接口,符合ANSIANSI、IEEEIEEE或或ISOISO等国际标准。接口包含三种类型的信号线:等国际标准。接口包含三种

13、类型的信号线:数据信号线、控制信号线、状态信号线。数据信号线、控制信号线、状态信号线。CPU外部设备控控制制逻逻辑辑电电路路控制寄存器控制寄存器状态寄存器状态寄存器数据寄存器数据寄存器设备控制器与处理机和外设的关系设备控制器与处理机和外设的关系 操作系统 第五章 设备管理1212( (五五) )设备控制器设备控制器1 1、设备控制器的设备控制器的组成组成1 1)控制器与处理机间的接口)控制器与处理机间的接口 包含:数据线、地址线和控制线。包含:数据线、地址线和控制线。2 2)控制器与设备间的接口)控制器与设备间的接口 一个控制器可以连接一个或多个设备,于是相应包含一个或多一个控制器可以连接一个

14、或多个设备,于是相应包含一个或多个设备接口,一个接口连接一台设备。个设备接口,一个接口连接一台设备。控制器与设备之间的接口常常是一个低级的串行接口。例如磁控制器与设备之间的接口常常是一个低级的串行接口。例如磁盘,可以按每个磁道盘,可以按每个磁道8 8扇区,每个扇区扇区,每个扇区512512个字节进行格式化。个字节进行格式化。然而,实际从驱动器出来的却是一连串的位流,以一个头标然而,实际从驱动器出来的却是一连串的位流,以一个头标(preamblepreamble)开始,然后是一个扇区的)开始,然后是一个扇区的40964096位(位(5125128 8),最),最后是检查和或错误校验码(后是检查和

15、或错误校验码(ErrorCErrorC一一C C:ECCECC)。头标是在对)。头标是在对磁盘格式化时写上的,它包括柱面和扇区数,扇区的大小和类磁盘格式化时写上的,它包括柱面和扇区数,扇区的大小和类似的一些数据。似的一些数据。3 3)I/OI/O逻辑电路逻辑电路 对对CPUCPU发来的发来的I/OI/O命令进行译码。命令进行译码。 操作系统 第五章 设备管理13132 2、设备控制器的功能、设备控制器的功能1 1)接收和识别命令)接收和识别命令2 2)数据交换)数据交换3 3)标识和报告设备的状态)标识和报告设备的状态4 4)地址识别)地址识别5 5)数据缓冲)数据缓冲6 6)差错控制)差错控

16、制 操作系统 第五章 设备管理14143、设备控制器如何工作、设备控制器如何工作操作系统将命令写入控制器寄存器中,以实现输入输出操作系统将命令写入控制器寄存器中,以实现输入输出 例如:例如:IBM PCIBM PC的软盘控制器可接收的软盘控制器可接收1515条命令,条命令,READREAD、WRITEWRITE、FORMATFORMAT、SEEKSEEK、RECALIBRATERECALIBRATE,命令可以带参数。,命令可以带参数。它们被一起送入控制器的寄存器中。它们被一起送入控制器的寄存器中。控制器接受一条命令后,可独立于控制器接受一条命令后,可独立于CPUCPU完成指定操作,完成指定操作

17、,CPUCPU可以转去执行其它运算。命令完成时,控制器产生一个中可以转去执行其它运算。命令完成时,控制器产生一个中断,断,CPUCPU响应中断,控制转给操作系统。响应中断,控制转给操作系统。CPUCPU通过读控制器通过读控制器寄存器中的信息,获得操作结果和设备状态。寄存器中的信息,获得操作结果和设备状态。控制器需要把从设备接口接收到的控制器需要把从设备接口接收到的串行位流转换为字节,串行位流转换为字节,并进行必要的错误修正。首先,控制器按位进行组装,然并进行必要的错误修正。首先,控制器按位进行组装,然后存入控制器内部的缓冲区中形成以字节为单位的块。在后存入控制器内部的缓冲区中形成以字节为单位的

18、块。在对块验证检查和并证明无错误时,再将它复制到主存中。对块验证检查和并证明无错误时,再将它复制到主存中。 操作系统 第五章 设备管理1515设备设备数据率数据率键盘键盘10B/s鼠标鼠标100B/s56k调制解调器调制解调器7kB/s扫描仪扫描仪400kB/s数字便携式摄相机数字便携式摄相机3.5MB/s802.11g无线网络无线网络6.75MB/s52倍速倍速CD_ROM7.8MB/s快速以太网快速以太网12.5MB/s袖珍闪存卡袖珍闪存卡40MB/s火线(火线(IEEE1394)50MB/sUSB2.060MB/sSONET网络网络78MB/sUltra 2磁盘磁盘80MB/s千兆以太网

19、千兆以太网125MB/s磁盘驱动器磁盘驱动器300MB/s磁带磁带320MB/s总线总线528MB/s某些典型的设备、网络和总线的数据率某些典型的设备、网络和总线的数据率 操作系统 第五章 设备管理16164 4、内存映射、内存映射I/OI/O每个控制器有几个寄存器用来与每个控制器有几个寄存器用来与CPUCPU进行通信。进行通信。控制器中的寄存器也称为控制器中的寄存器也称为“I/OI/O端口端口”,通常包括:控制,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。除了控制寄存器以外,许多的寄存器通常被连续

20、地编址。除了控制寄存器以外,许多设备还有一个操作系统可以读写的设备还有一个操作系统可以读写的数据缓冲区数据缓冲区。例如在屏。例如在屏幕上显示像素的常规方法是使用一个视频幕上显示像素的常规方法是使用一个视频RAM,RAM,这一这一RAMRAM就是就是一个数据缓冲区,可供程序或操作系统写入数据。一个数据缓冲区,可供程序或操作系统写入数据。通过通过写入写入这些寄存器,操作系统可以命令设备发送数据、这些寄存器,操作系统可以命令设备发送数据、接收数据、开启或关闭。接收数据、开启或关闭。通过通过读取读取这些寄存器,操作系统可以了解设备的状态,是这些寄存器,操作系统可以了解设备的状态,是否准备好接收一个新的

21、命令等。否准备好接收一个新的命令等。 操作系统 第五章 设备管理1717问题:问题:CPU如何与设备的控制寄存器和数如何与设备的控制寄存器和数据缓冲区进行通信?据缓冲区进行通信?存在两种可选的方法。存在两种可选的方法。 CPUCPU对外设对外设I/OI/O端口物理地址的编址方式有两种:一种是端口物理地址的编址方式有两种:一种是I/OI/O映射方式映射方式(I/OI/Omappedmapped),另一种是内存映射方式(),另一种是内存映射方式(MemoryMemorymappedmapped)。而具体)。而具体采用哪一种则取决于采用哪一种则取决于CPUCPU的体系结构。的体系结构。 第一种方法:

22、第一种方法:每个控制寄存器分配一个每个控制寄存器分配一个I/OI/O端口号端口号(一个一个8位或位或16位的整位的整数数),所有所有I/OI/O端口号形成端口号形成I/OI/O端口空间端口空间(I/O port space),(I/O port space),并且受到保护使并且受到保护使得普通的用户程序不能对其进行访问(只有操作系统可以访问),使用一得普通的用户程序不能对其进行访问(只有操作系统可以访问),使用一条特殊的条特殊的I/OI/O指令。指令。例如例如IN REG ,PORT; CPUIN REG ,PORT; CPU可以读取控制寄存器可以读取控制寄存器PORTPORT的内容并将结果存

23、入到的内容并将结果存入到CPUCPU寄存器寄存器REGREG中。中。 操作系统 第五章 设备管理1818 操作系统 第五章 设备管理1919类似地使用类似地使用OUT PORTOUT PORT,REGREG; CPUCPU可以将可以将REGREG的内容写入到控制寄的内容写入到控制寄存器中。存器中。大多数早期计算机,包括几乎所有大型机,如大多数早期计算机,包括几乎所有大型机,如IBMIBM系列机系列机及其所有后续机型,都以这种方式工作。及其所有后续机型,都以这种方式工作。在这一方案中,内存地址空间和在这一方案中,内存地址空间和I IO O地址空间是不同的,如上图地址空间是不同的,如上图所示。指令

24、所示。指令ININ,和,和MOVMOVR R,是完全不同的。,是完全不同的。第二种方法:第二种方法:它将所有控制寄存器映射到内存空间中,如上图所它将所有控制寄存器映射到内存空间中,如上图所示,每个控制寄存器被分配唯一的一个内存地址,并且不会有内示,每个控制寄存器被分配唯一的一个内存地址,并且不会有内存被分配这一地址。这样的系统内存映射存被分配这一地址。这样的系统内存映射I/OI/O( MemoryMemorymapped mapped I/O I/O )。通常分配给控制寄存器的地址位于地址空间的顶端。这)。通常分配给控制寄存器的地址位于地址空间的顶端。这种方案被引入种方案被引入另外还有一种混合

25、方案,如上图所示,这一方案具有内存映射另外还有一种混合方案,如上图所示,这一方案具有内存映射I/OI/O的数据缓冲区,控制器具有单独的的数据缓冲区,控制器具有单独的I/OI/O端口。端口。PentiunPentiun处理器处理器使用的就是这一体系结构。使用的就是这一体系结构。这两种方法也可以看作是两种寻址控制器的方案。这两种方法也可以看作是两种寻址控制器的方案。 操作系统 第五章 设备管理2020内存映射内存映射I/OI/O的优点和缺点的优点和缺点优点:优点:w对于内存映射对于内存映射I/OI/O, I/OI/O设备驱动程序可以完全用设备驱动程序可以完全用C C语言编写。语言编写。如果不使用内

26、存映射如果不使用内存映射I/OI/O,就要用到某些汇编代码。,就要用到某些汇编代码。w对于内存映射对于内存映射I/OI/O,不需要特殊的保护机制来阻止用户进程执行,不需要特殊的保护机制来阻止用户进程执行I/OI/O操作。操作。w对于内存映射对于内存映射I/OI/O,可以引用内存的每一条指令也可以引用控制,可以引用内存的每一条指令也可以引用控制寄存器。寄存器。缺点:缺点:对于一个设备控制器进行高速缓存可能是灾难性的。在存在高对于一个设备控制器进行高速缓存可能是灾难性的。在存在高速缓存的情况下考虑下面给出的汇编代码循环:速缓存的情况下考虑下面给出的汇编代码循环:loop test port_4 /

27、loop test port_4 /检测端口检测端口4 4是否为是否为0 0 beq ready / beq ready /如果为如果为0 0,转向,转向readyready branch loop / branch loop /否则继续测试否则继续测试 ready:ready:第一次引用第一次引用port-4port-4将导致它被高速缓存,随后的引用将只从高将导致它被高速缓存,随后的引用将只从高速缓存中取值并且再不会查询设备。之后当设备最终变为就绪速缓存中取值并且再不会查询设备。之后当设备最终变为就绪时软件将没有办法发现这一点。结果,循环将永远进行下去。时软件将没有办法发现这一点。结果,循环

28、将永远进行下去。如果只存在一个地址空间,那么所有的内存模块和所有的如果只存在一个地址空间,那么所有的内存模块和所有的I/OI/O设设备都必须检查所有的内存引用,以便了解由谁做出响应。备都必须检查所有的内存引用,以便了解由谁做出响应。 操作系统 第五章 设备管理21215.2 数据传输控制方式一、IO控制方式1 1)循环测试)循环测试I/OI/O方式;方式;2 2)I/OI/O中断方式;中断方式;3 3)DMADMA方式;方式;4 4)通道方式。)通道方式。设备(I/O)控制器: 是是CPUCPU与与I/OI/O设备之间的接口,设备不直接与设备之间的接口,设备不直接与CPUCPU进行通进行通信,

29、设备控制器接收从信,设备控制器接收从CPUCPU发来的命令,去控制发来的命令,去控制I/OI/O设备工设备工作,包括状态寄存器和数据缓冲寄存器。作,包括状态寄存器和数据缓冲寄存器。 操作系统 第五章 设备管理2222 CPU CPU与外设的活动本质上是异步的,为了实现与外设的活动本质上是异步的,为了实现CPUCPU与外设与外设间的信息传送,间的信息传送,CPUCPU必须重复测试外设的状态;仅当外设是必须重复测试外设的状态;仅当外设是处在准备好的状态时,处在准备好的状态时,CPUCPU才能与外设交换信息。才能与外设交换信息。问题:问题:1 1)CPUCPU的大量时间消耗在等待输入输出的循环检测上

30、,使的大量时间消耗在等待输入输出的循环检测上,使CPUCPU与外设串行工作,严重影响了与外设串行工作,严重影响了CPUCPU的使用效率;的使用效率;2 2)外设的使用也不合理)外设的使用也不合理( (诸外设不能并行工作诸外设不能并行工作) );3 3)无法支持多道程序并发执行,整个系统效率很低。)无法支持多道程序并发执行,整个系统效率很低。 在早期计算机或现代一些简单的微型计算机系统中采在早期计算机或现代一些简单的微型计算机系统中采用循环测试传送方式。循环测试传送是一种用用循环测试传送方式。循环测试传送是一种用程序直接控程序直接控制制I IO O操作的方式操作的方式。1. 循环测试I/O方式;

31、 操作系统 第五章 设备管理2323用户直接编写用户直接编写I/O指令程序控制输入输出指令程序控制输入输出。要保持要保持CPU与外设同步(由于速度差距)与外设同步(由于速度差距).循环测试循环测试I/OI/O方式下方式下CPUCPU向设备输出数据大致过程如下:向设备输出数据大致过程如下: 控制器得到控制器得到“命令就绪命令就绪”置置“busy”busy”位位 控制器清除控制器清除“命令就绪命令就绪”位与位与“busy”busy”位。位。 至此完成一个字节输至此完成一个字节输出,循环上述的过程出,循环上述的过程完成多个字节的输出完成多个字节的输出CPUCPU置控制器置控制器“启动启动”位位测状态

32、寄存器测状态寄存器“忙忙”?CPUCPU置控制器置控制器“写写”位;位;写入一个字节数据;写入一个字节数据;CPUCPU置上置上“命令就绪命令就绪”位;位;控制器是控制器是“写命令写命令”?从数据输出寄存器读出一从数据输出寄存器读出一个字节,送设备输出个字节,送设备输出忙忙写写读读下下一一步步下下一一步步下下一一步步下下一一步步下下一一步步下下一一步步 操作系统 第五章 设备管理24242. IO中断方式; 引入中断技术后,每当设备完成引入中断技术后,每当设备完成I IO O操作时,便向操作时,便向CPUCPU发出中断请求信号,通知发出中断请求信号,通知CPUCPU进行进行I/OI/O中断处理

33、。中断处理。 这样,这样,CPUCPU一旦启动一旦启动1 1O O设备后便可执行其它程序,仅设备后便可执行其它程序,仅在收到在收到I IO O中断请求时才执行其中断服务程序,进行中断请求时才执行其中断服务程序,进行I IO O处理。处理。 例如例如, ,行式打印机每打印一行约需行式打印机每打印一行约需60ms,60ms,在循环测试传在循环测试传送方式中,大约有送方式中,大约有59.99ms CPU59.99ms CPU都处于循环测试中,在程序都处于循环测试中,在程序中断中断I IO O方式中,方式中,CPUCPU仅用仅用0.1ms0.1ms时间处理打印机的中断服时间处理打印机的中断服务程序。其

34、余的务程序。其余的59.9ms59.9ms可以处理其它任务。可以处理其它任务。 操作系统 第五章 设备管理2525I IO O中断方式中断方式基本工作过程:基本工作过程:n CPU CPU执行设备驱动程序,向控制器发启动指令。执行设备驱动程序,向控制器发启动指令。n 控制器按照控制器按照I/OI/O指令要求,启动并控制指令要求,启动并控制I/OI/O设备工设备工作。作。CPUCPU与外设是并行操作的与外设是并行操作的。 n 输入就绪输入就绪/ /输出完成,输出完成,控制器向控制器向CPUCPU发中断信号发中断信号。 n 中断处理程序完成后退出中断,恢复现场,将控中断处理程序完成后退出中断,恢复

35、现场,将控制转回被打断的执行位置。制转回被打断的执行位置。 操作系统 第五章 设备管理2626CPU CPU 执行设备驱执行设备驱动程序向控制器动程序向控制器发出发出启动命令启动命令外设外设控控制制器器I/O完成中断完成中断中断处理中断处理CPU响应中断程序执行:程序执行:程序请求程序请求I/OI/O继续执行程序继续执行程序继续执行程序继续执行程序下下一一步步下下一一步步结束结束 操作系统 第五章 设备管理2727优点:优点:1 1)程序中断传送方式改善了)程序中断传送方式改善了CPUCPU的利用率;的利用率;2 2)使)使CPUCPU与外设并行操作。与外设并行操作。缺点:缺点: 采用中断驱动

36、采用中断驱动I IO O方式时,每传送一个数据方式时,每传送一个数据CPUCPU都要都要做一次中断处理,每次中断处理都要保护做一次中断处理,每次中断处理都要保护CPUCPU现场,处理现场,处理结束时又要恢复结束时又要恢复CPUCPU现场,若管理的现场,若管理的I/OI/O设备较多,设备较多,CPUCPU会会陷入这些陷入这些I/OI/O中断处理中,无法进行其他工作。中断处理中,无法进行其他工作。 操作系统 第五章 设备管理28283. DMA传送方式(直接内存存取) 为了进一步减少为了进一步减少CPUCPU对对I IO O的干预而引入了直接存储器的干预而引入了直接存储器访问方式。访问方式。设备设

37、备主存主存直接传送直接传送不用不用CPUCPU干涉干涉 I/O I/O控制器增添了控制器增添了DMADMA控制机构,在控制机构,在DMADMA控制器控制下,控制器控制下,外设直接与内存交换成批数据而不用外设直接与内存交换成批数据而不用CPUCPU干预。干预。 为了实现控制器与主机之间成批数据的直接交换,必为了实现控制器与主机之间成批数据的直接交换,必须在须在DMADMA控制器中设置四类寄存器:控制器中设置四类寄存器:(1)(1)命令状态寄存器命令状态寄存器CRCR;(2)(2)数据缓冲寄存器数据缓冲寄存器DR;DR;(3)(3)内存地址寄存器内存地址寄存器MAR;MAR;(4)(4)数据计数器

38、数据计数器DCDC。 操作系统 第五章 设备管理2929以从磁盘读入数据为例说明以从磁盘读入数据为例说明DMADMA方式的工作流程:方式的工作流程:1 1)当)当CPUCPU要从磁盘读入一数据块时,便向磁盘控制器发送要从磁盘读入一数据块时,便向磁盘控制器发送一条读命令,该命令被送入命令寄存器一条读命令,该命令被送入命令寄存器CR;CR;2 2)同时发送本次要将数据读入内存的起始地址到)同时发送本次要将数据读入内存的起始地址到MARMAR中中; ;3 3)本次要读的数据的字节)本次要读的数据的字节( (符符) )数送至数送至DRDR中中; ;4 4)将磁盘源地址直接送至)将磁盘源地址直接送至DM

39、ADMA控制器的控制器的I/OI/O控制逻辑上;控制逻辑上;5 5)然后启动)然后启动DMADMA控制器进行数据传送。控制器进行数据传送。 以后以后,CPU,CPU便可去处理其他任务。此后的整个数据传送便便可去处理其他任务。此后的整个数据传送便由由DMADMA控制器进行控制。控制器进行控制。 操作系统 第五章 设备管理3030 DMA工作过程工作过程 地址缓冲区缓冲区字节数控制CPUDMA控制器控制器磁盘磁盘控制器控制器内存内存磁盘磁盘DMADMA控制器数据传输控制器数据传输CPU将一个命令块 (数据源地址、目标地址和传送字节数)写入内存; 再将命令块地址写入DMA控制器的寄存器中。下下一一步

40、步启动磁盘控制器,将其数据送入内部缓冲区准备传输,CPU处理其它任务DMA控制器通过总线向磁盘控制器发送读(盘)请求磁盘控制器执行从内部缓冲区到指定内存数据传送。当数据写入内存后,磁盘控制器通过总线向DMA控制器发一个回答信号。DMA 将内存地址增1,计数器减1后值0,则重复,直到计数值=0时,DMADMA向向CPUCPU发发一个中断信号一个中断信号, 此次传输完成结束结束 操作系统 第五章 设备管理3131 采用采用DMADMA方式时,不仅允许方式时,不仅允许CPUCPU控制地址线,进行控制地址线,进行CPUCPU与主存贮器的数据交换,而且允许与主存贮器的数据交换,而且允许DMADMA控制器

41、接管地址线的控制器接管地址线的控制权,直接控制控制权,直接控制DMADMA控制器与主存的数据交换。控制器与主存的数据交换。 当当DMADMA硬件控制磁盘与存贮器之间进行信息交换时,每硬件控制磁盘与存贮器之间进行信息交换时,每当磁盘把一个数据读入控制器的数据缓冲区时,当磁盘把一个数据读入控制器的数据缓冲区时,DMADMA控制器控制器取代取代CPU,CPU,接管地址总线的控制权,并按照接管地址总线的控制权,并按照DMADMA控制器中的存控制器中的存贮器地址寄存器内容贮器地址寄存器内容, ,把数据送入相应的存贮器单元中。然把数据送入相应的存贮器单元中。然后,后,DMADMA硬件自动地把传送的字节计数

42、器减硬件自动地把传送的字节计数器减1 1,把地址寄存,把地址寄存器加器加1 1,并恢复,并恢复CPUCPU对主存贮器的控制权,对主存贮器的控制权,DMADMA控制器对每一控制器对每一个传送的数据重复上述过程,直到传送字节计数器为个传送的数据重复上述过程,直到传送字节计数器为“0”0”时,向时,向CPUCPU产生一个中断信号。产生一个中断信号。 操作系统 第五章 设备管理3232DMA方式的问题:1 1)DMADMA方式仍存在一定的局限性,如数据传送的方向、存方式仍存在一定的局限性,如数据传送的方向、存放数据的内存始址、传送数据的长度都需要放数据的内存始址、传送数据的长度都需要CPUCPU控制;

43、控制;2 2)每台设备都需要配置一个)每台设备都需要配置一个DMADMA控制器,当设备较多时,控制器,当设备较多时,成本太高。成本太高。DMA方式的特点: 数据传输的基本单位是数据块;所传送的数据是从设备数据传输的基本单位是数据块;所传送的数据是从设备直接进入内存的直接进入内存的, ,或者相反,仅在传送一个或多个数据块的或者相反,仅在传送一个或多个数据块的开始或结束时才需开始或结束时才需CPUCPU干预,整块数据的传送是在控制器的干预,整块数据的传送是在控制器的控制下完成的。控制下完成的。 DMADMA方式较之中断驱动方式,又是成百倍地减少了方式较之中断驱动方式,又是成百倍地减少了CPUCPU

44、对对I IO O的干预,进一步提高了的干预,进一步提高了CPUCPU与与I/OI/O设备的并行程度。设备的并行程度。 操作系统 第五章 设备管理3333通道:通道:专门负责专门负责I IO O控制的处理机。控制的处理机。它接收它接收CPU的委托,独的委托,独立地执行自己的通道程序,管理和控制输入输出操作,实现立地执行自己的通道程序,管理和控制输入输出操作,实现主存贮器与外围设备之间的成批数据传送。主存贮器与外围设备之间的成批数据传送。 在大中型和高档小型计算机系统中,大多采用通道技术。在大中型和高档小型计算机系统中,大多采用通道技术。通道有自己的简单指令系统,数据传送指令和设备控制指令通道有自

45、己的简单指令系统,数据传送指令和设备控制指令等。通道执行的程序称为等。通道执行的程序称为通道程序通道程序。 与与DMADMA方式相比,通道有更强的方式相比,通道有更强的I IO O处理能力。处理能力。4. 通道方式 当当CPUCPU委托的委托的I IO O任务完成后,通道发出中断信号,请任务完成后,通道发出中断信号,请求求CPUCPU处理。使处理。使CPUCPU摆脱了繁琐的输入输出控制工作,提高了摆脱了繁琐的输入输出控制工作,提高了CPUCPU与外围设备工作的并行程度。多通道之间可实现并行操与外围设备工作的并行程度。多通道之间可实现并行操作,各通道控制的外围设备也实现了并行操作,从而提高整作,

46、各通道控制的外围设备也实现了并行操作,从而提高整个系统的处理效率。个系统的处理效率。 操作系统 第五章 设备管理3434 按照信息的交换方式和控制设备的种类,通道可以分为三种类型:1)字节多路通道 字节多路通道以字节为单位传输信息,它可以以字节字节多路通道以字节为单位传输信息,它可以以字节交叉方式执行多个通道程序。当一个通道程序控制某台设交叉方式执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传送信息。程序,控制另一台设备传送信息。 字节多路通道主要用来连接大量慢速的字符设备字节多

47、路通道主要用来连接大量慢速的字符设备,如,如纸带输入出机,卡片输入出机、打印机、终端等等。纸带输入出机,卡片输入出机、打印机、终端等等。在在IBM370IBM370系统中,这样的通道可连接系统中,这样的通道可连接256256台设备。台设备。 操作系统 第五章 设备管理3535 操作系统 第五章 设备管理36362)选择通道 选择通道每次选择一台设备,执行一个通道程序,传选择通道每次选择一台设备,执行一个通道程序,传送一批数据,当这台设备数据传输完成后,再选择与通道送一批数据,当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序。选择通道连接的另一台设备,执行它的相应的

48、通道程序。选择通道在一段时间内只允许一台设备进行数据传输,传送速度很在一段时间内只允许一台设备进行数据传输,传送速度很高,但在设备传输未完成之前,由它独占通道。由于选择高,但在设备传输未完成之前,由它独占通道。由于选择通道能控制设备高速连续地传送一批数据,因此通道能控制设备高速连续地传送一批数据,因此常用它连常用它连接高速的块设备接高速的块设备。如磁盘、磁鼓等。如磁盘、磁鼓等。 操作系统 第五章 设备管理3737 操作系统 第五章 设备管理3838 3成组多路通道 成组多路通道结合了选择通道传送速度高和字节多路成组多路通道结合了选择通道传送速度高和字节多路通道能进行并行操作的优点,采用分时轮转

49、同时控制多台通道能进行并行操作的优点,采用分时轮转同时控制多台设备。它先为一台设备执行一条通道指令然后自动转接,设备。它先为一台设备执行一条通道指令然后自动转接,为另一台设备执行一条通道指令。因此为另一台设备执行一条通道指令。因此常用它连接中速的常用它连接中速的块设备块设备。如磁带等。如磁带等。 操作系统 第五章 设备管理3939字节多路通道字节多路通道数组选择通道数组选择通道数组多路通道数组多路通道输入机处理机处理机内存内存打印机磁盘磁带控制线数据线三种类型通道与内存和设备之间连接形式图三种类型通道与内存和设备之间连接形式图 操作系统 第五章 设备管理4040主存主存CPUCPU 字节字节多

50、路通道多路通道 选择选择 通道通道 成组成组多路通道多路通道CPUCPU总线总线磁盘磁盘磁带磁带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控制控制 采用通道方式的计算机系统结构采用通道方式的计算机系统结构 操作系统 第五章 设备管理4141用户程序通道通道外设外设内存数据区中断处中断处理程序理程序管理程序通道程序返回通道通道I/OI/O主要过程示意图主要过程示意图取通道指令入口入口参数参数设备类设备类设备号设备号数据长度数据长度主存地址主存地址结束指令构造通构造通道

51、程序道程序I/O完成中断完成中断I/O中断响应中断响应I/O中断返回中断返回访管访管陷入下下一一步步启动启动I/O结束结束置通道地址字 通道工作过程通道工作过程 操作系统 第五章 设备管理42421.1.中断:中断:一进程占有处理机执行期间系统发生各种事件需要一进程占有处理机执行期间系统发生各种事件需要处理机来处理,从而使得处理机暂停当前进程的执行而转去处理机来处理,从而使得处理机暂停当前进程的执行而转去执行相应的中断处理程序,待事件处理完毕后再返回原来被执行相应的中断处理程序,待事件处理完毕后再返回原来被中断处继续执行的过程。中断处继续执行的过程。5.3 中断技术一、中断的基本概念2.2.中

52、断源:中断源:引起中断发生的事件。引起中断发生的事件。3.3.中断请求:中断请求:中断源向处理机发出的请求中断处理的信号。中断源向处理机发出的请求中断处理的信号。4.4.中断处理程序中断处理程序:对中断事件进行相应处理的操作系统程序。:对中断事件进行相应处理的操作系统程序。 操作系统 第五章 设备管理43431.1.强迫性中断事件(非运行进程所期望的)强迫性中断事件(非运行进程所期望的)二、中断事件的类型2.2.自愿性中断事件(运行进程所要求的)自愿性中断事件(运行进程所要求的)硬件故障中断(电源掉电、读硬件故障中断(电源掉电、读/ /写错等)写错等)程序性中断(数据溢出、访问溢出等)程序性中

53、断(数据溢出、访问溢出等)外部中断(键盘输入命令)外部中断(键盘输入命令)输入输出中断(外部设备故障)输入输出中断(外部设备故障)访管中断(执行一条访管中断(执行一条“访管指令访管指令”请求系统调用)。请求系统调用)。 操作系统 第五章 设备管理4444 中断码存入中断码存入PSWPSW寄存器的中断码位寄存器的中断码位 将旧将旧PSW PSW 将新将新PSWPSW保存到主存保存到主存 送到送到PSWPSW寄存器。寄存器。 CPU CPU收到中断请求后转相应的中断处理程序的过程称为收到中断请求后转相应的中断处理程序的过程称为中断响应。中断响应。三、中断响应 PSW寄存器寄存器1.1.保存被中断进

54、保存被中断进程的现场程的现场2.2.执行中断处理执行中断处理程序程序 四、中断处理过程 应用应用 程序程序 交换交换PSWPSW 执行中断执行中断 处理程序处理程序 PSW PSW寄存器寄存器CPU 1. 1. 发现和识别中断事件发现和识别中断事件: :硬件设有中断装置发现和识硬件设有中断装置发现和识别中断事件。别中断事件。2. 2. 交换交换PSWPSW 操作系统 第五章 设备管理4545五、中断处理的原则硬件故障中断硬件故障中断输出事件的性质。输出事件的性质。程序性中断程序性中断输出进程名,程序断点,事件性质。输出进程名,程序断点,事件性质。外部中断外部中断接收外部请求后转例行子程序。接收

55、外部请求后转例行子程序。 正常情况,释放等待进程。正常情况,释放等待进程。输入输出中断输入输出中断 异常情况,告知出错信息。异常情况,告知出错信息。访管中断访管中断根据访管指令中的功能号转对应的系统调用。根据访管指令中的功能号转对应的系统调用。 操作系统 第五章 设备管理4646中断优先级顺序:中断优先级顺序: 硬件故障中断自愿性中断程序性中断外部中断硬件故障中断自愿性中断程序性中断外部中断输入输出中断输入输出中断。七、中断屏蔽 中断请求产生之后,系统用软件的方法有选择地封锁中断请求产生之后,系统用软件的方法有选择地封锁部分中断而响应其余中断。部分中断而响应其余中断。六、中断优先级 当多个中断

56、事件同时发生时,中断装置按预先定好的顺当多个中断事件同时发生时,中断装置按预先定好的顺序响应同时出现的中断事件,这个预先定好的顺序称为中断序响应同时出现的中断事件,这个预先定好的顺序称为中断优先级。优先级。 操作系统 第五章 设备管理47475.4 缓冲技术一、概述引入缓冲技术的目的:引入缓冲技术的目的:1 1)改善)改善CPUCPU与外围设备之间速度不匹配的矛盾;与外围设备之间速度不匹配的矛盾;2 2)减少中断减少中断CPU的次数,放宽的次数,放宽CPU对中断的响应时间。对中断的响应时间。3 3)减少占用通道的时间,使通道的瓶颈现象得以缓和,从减少占用通道的时间,使通道的瓶颈现象得以缓和,从

57、而显著提高而显著提高CPU、通道、通道、I/O设备间的并行操作程度。设备间的并行操作程度。缓冲技术是利用缓冲技术是利用空间空间来换取来换取时间时间,加快系统,加快系统I/O数据处理数据处理速度。缓冲区大小的设置和设备的类型有关速度。缓冲区大小的设置和设备的类型有关: 块设备块设备的缓冲区的大小应为块的大小;的缓冲区的大小应为块的大小; 字符设备字符设备的缓冲区大小一般以一行大小设置。的缓冲区大小一般以一行大小设置。 操作系统 第五章 设备管理48481bit/100s8位缓冲中断通知CPUCPU响应取走处理远地通信的缓冲处理远地通信的缓冲处理1bit/100s1位缓冲中断通知CPUCPU响应取

58、走处理端口(1位缓冲)(8位缓冲)下下一一步步结束结束没有这没有这8 8位寄存位寄存器器, CPU, CPU响应中响应中断的时间是多少断的时间是多少? ? 操作系统 第五章 设备管理4949 当一个进程执行写操作输出数据时,先向系统申请一个主存区当一个进程执行写操作输出数据时,先向系统申请一个主存区域域缓冲区,然后,将数据高速送到缓冲区。若为顺序写请求,缓冲区,然后,将数据高速送到缓冲区。若为顺序写请求,则不断把数据填到缓冲区,直到它被装满为止。此后,进程可以继则不断把数据填到缓冲区,直到它被装满为止。此后,进程可以继续它的计算,同时,系统将缓冲区内容写到续它的计算,同时,系统将缓冲区内容写到

59、I IO O设备上。设备上。 在输出数据时,只有在系统还来不及腾空缓冲区之前,进程又在输出数据时,只有在系统还来不及腾空缓冲区之前,进程又欲输出信息时,它才需要等待;在输入数据时,仅当缓冲区空而进欲输出信息时,它才需要等待;在输入数据时,仅当缓冲区空而进程又要从中读取数据时,它才被迫等待。其它时间可以进一步提高程又要从中读取数据时,它才被迫等待。其它时间可以进一步提高CPUCPU和和I IO O设备的并行性,以及设备的并行性,以及I IO O设备和设备和I IO O设备之间的并行性,设备之间的并行性,从而,提高整个系统的效率。从而,提高整个系统的效率。缓冲技术实现的基本思想:缓冲技术实现的基本

60、思想: 操作系统 第五章 设备管理5050u 进程读取数据块时,若已在缓冲区就立刻读取,不阻塞进程读取数据块时,若已在缓冲区就立刻读取,不阻塞进程。当缓冲区空时才阻塞进程,启动磁带或磁盘数据块进程。当缓冲区空时才阻塞进程,启动磁带或磁盘数据块读入,这就是所谓的提前读。读入,这就是所谓的提前读。u 当进程输出数据块到磁带或磁盘时,只需写入缓冲区,当进程输出数据块到磁带或磁盘时,只需写入缓冲区,直到缓冲区满之后才开始启动磁带或磁盘。既减少了输出直到缓冲区满之后才开始启动磁带或磁盘。既减少了输出操作和中断次数,又提高了传输速度。利用缓冲区实现的操作和中断次数,又提高了传输速度。利用缓冲区实现的这种功

温馨提示

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

评论

0/150

提交评论