版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章第七章 设备管理设备管理n概述概述nI/O硬件特点硬件特点nI/O软件的组成软件的组成n有关技术有关技术n设备处理设备处理I/O管理示意管理示意应用程序应用程序文件管理文件管理设备驱动程序设备驱动程序控制寄存器控制寄存器数据寄存器数据寄存器状态寄存器状态寄存器设备控制器设备控制器应用编程接口应用编程接口硬件接口硬件接口一、概述一、概述1、I/O的特点的特点 CPU与与I/O的速度差别大的速度差别大 尽量使两者交叠运行尽量使两者交叠运行 减少由于速度差异造成的整体性能开销减少由于速度差异造成的整体性能开销(1 1)I/OI/O性能经常成为系统性能的瓶颈性能经常成为系统性能的瓶颈(2 2)操
2、作系统庞大复杂的原因之一:)操作系统庞大复杂的原因之一: 资源多、杂,并发,均来自资源多、杂,并发,均来自I/OI/On外设种类繁多,结构各异外设种类繁多,结构各异n输入输出数据信号类型不同输入输出数据信号类型不同n速度差异很大速度差异很大(3 3)与其他功能联系密切,特别是文件系统)与其他功能联系密切,特别是文件系统(1 1)按功能特性分)按功能特性分n 存储型设备存储型设备n 输入输出型设备(交互型设备)输入输出型设备(交互型设备)n 数据通信设备数据通信设备2、设备的分类、设备的分类(2 2)按数据组织分)按数据组织分 块设备块设备 以数据块为单位存储、传输信息以数据块为单位存储、传输信
3、息 传输速率较高、可寻址(随机读写)传输速率较高、可寻址(随机读写) 字符设备字符设备 以字符为单位存储、传输信息以字符为单位存储、传输信息 传输速率高、不可寻址传输速率高、不可寻址设备的分类(续设备的分类(续1)(3 3)按资源分配角度分)按资源分配角度分 独占设备独占设备 在一段时间内只能有一个进程使用的设备,一在一段时间内只能有一个进程使用的设备,一般为低速般为低速I/OI/O设备(如打印机,磁带等)设备(如打印机,磁带等) 共享设备共享设备 在一段时间内可有多个进程共同使用的设备,在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利多个进程以交叉的方式来使用
4、设备,其资源利用率高(如硬盘)用率高(如硬盘)设备的分类(续设备的分类(续2)虚设备虚设备 在一类设备上模拟另一类设备,常用共在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备低速设备,被模拟的设备称为虚设备 目的:将慢速的独占设备改造成多个用户可共目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率享的设备,提高设备的利用率(实例:(实例:SPOOLingSPOOLing技术,利用虚设备技术技术,利用虚设备技术 用硬盘模拟输入输出设备)用硬盘模拟输入输出设备)设备的分类(续设备的分类(续3)SP
5、OOLingSPOOLing技术技术 为解决独立设备数量少,速度慢,不能为解决独立设备数量少,速度慢,不能满足众多进程的要求,而且在进程独占设满足众多进程的要求,而且在进程独占设备期间,设备利用率比较低而提出的一种备期间,设备利用率比较低而提出的一种设备管理技术设备管理技术 另一种资源转换技术另一种资源转换技术设备的分类(续设备的分类(续4)(1 1)按照用户的请求,控制设备的各种操)按照用户的请求,控制设备的各种操作,完成作,完成I/OI/O设备与内存之间的数据交换,设备与内存之间的数据交换,最终完成用户的最终完成用户的I/OI/O请求请求n设备分配与回收设备分配与回收 记录设备的状态记录设
6、备的状态 根据用户的请求和设备的类型,采用一定的分根据用户的请求和设备的类型,采用一定的分配算法,选择一条数据通路配算法,选择一条数据通路 n执行执行设备驱动程序设备驱动程序,实现真正的,实现真正的I/OI/O操作操作n设备中断处理:设备中断处理:处理外部设备的中断处理外部设备的中断n缓冲区管理:缓冲区管理:管理管理I/OI/O缓冲区缓冲区3.3.设备管理的目标和任务设备管理的目标和任务(2 2)建立)建立方便方便、统一统一的的独立于设备独立于设备的接口的接口方便性:向用户提供使用外部设备的方便接口,方便性:向用户提供使用外部设备的方便接口,使用户编程时不考虑设备的复杂物理特性使用户编程时不考
7、虑设备的复杂物理特性统一性:对不同的设备采取统一的操作方式,在统一性:对不同的设备采取统一的操作方式,在用户程序中使用的是逻辑设备用户程序中使用的是逻辑设备 逻辑设备与物理设备、屏蔽硬件细节(设备的逻辑设备与物理设备、屏蔽硬件细节(设备的物理细节,错误处理,不同物理细节,错误处理,不同I/OI/O的差异性)的差异性)设备管理的目标和任务(续设备管理的目标和任务(续1 1)设备独立性(设备无关性)设备独立性(设备无关性)目的:目的: 提高操作系统的提高操作系统的可适应性可适应性和和可扩展性可扩展性 从用户角度:从用户角度:用户在编制程序时,使用逻辑用户在编制程序时,使用逻辑设备名,由系统实现从逻
8、辑设备到物理设备设备名,由系统实现从逻辑设备到物理设备(实际设备)的转换,并实施(实际设备)的转换,并实施I/O操作操作 从系统角度:从系统角度:设计并实现设计并实现I IO O软件时,软件时,除了除了直接与设备打交道的低层软件之外,其他部直接与设备打交道的低层软件之外,其他部分的软件不依赖于硬件分的软件不依赖于硬件好处:好处:设备分配时的灵活性设备分配时的灵活性易于实现易于实现I/OI/O重定向重定向(3)充分利用各种技术()充分利用各种技术(通道,中断,缓通道,中断,缓冲,异步冲,异步I/O等)提高等)提高CPU与设备、设备与设备、设备与设备之间的并行工作能力,充分利用与设备之间的并行工作
9、能力,充分利用资源,提高资源利用率资源,提高资源利用率n 并行性并行性n 均衡性(使设备充分忙碌均衡性(使设备充分忙碌)设备管理的目标和任务(续设备管理的目标和任务(续3 3)(4)保护)保护 设备传送或管理的数据应该是安全的、设备传送或管理的数据应该是安全的、不被破坏的、保密的不被破坏的、保密的设备管理的目标和任务(续设备管理的目标和任务(续4 4)1.1.设备组成设备组成 I IO O设备一般由机械和电子两部分组成设备一般由机械和电子两部分组成 把这两部分分开处理,以提供更加模块化,把这两部分分开处理,以提供更加模块化,更加通用的设计更加通用的设计二、二、I/OI/O硬件特点硬件特点 设备
10、组成(续设备组成(续1 1)(1 1)物理设备)物理设备 机械部分是设备本身(物理装置)机械部分是设备本身(物理装置)(2 2)设备控制器)设备控制器n 电子部分叫做设备控制器或适配器电子部分叫做设备控制器或适配器n 完成设备与主机间的连接和通信完成设备与主机间的连接和通信n 在小型和微型机中,它常采用印刷电路在小型和微型机中,它常采用印刷电路卡插入计算机主板上的总线插槽卡插入计算机主板上的总线插槽n 通过若干接口寄存器或接口缓冲区与通过若干接口寄存器或接口缓冲区与CPUCPU通信通信 设备组成(续设备组成(续2 2) 电子部分完成的工作电子部分完成的工作(端口)地址译码(端口)地址译码按照主
11、机与设备之间约定的格式和过程按照主机与设备之间约定的格式和过程l接受计算机发来的数据和控制信号接受计算机发来的数据和控制信号l向主机发送数据和状态信号向主机发送数据和状态信号将计算机的数字信号转换成机械部分能识别将计算机的数字信号转换成机械部分能识别的模拟信号,或反之的模拟信号,或反之实现设备内部硬件缓冲、数据加工等提高性实现设备内部硬件缓冲、数据加工等提高性能或增强功能能或增强功能2.2.设备接口设备接口 操作系统将命令写入控制器的接口寄存器(或接口操作系统将命令写入控制器的接口寄存器(或接口缓冲区)中,以实现输入输出,并从接口寄存器缓冲区)中,以实现输入输出,并从接口寄存器读取状态信息或结
12、果信息读取状态信息或结果信息 例如例如:IBM PCIBM PC的软盘控制器可接收的软盘控制器可接收1515条命令条命令,READREAD、WRITEWRITE、FORMATFORMAT、SEEKSEEK、RECALIBRATERECALIBRATE,命令可以带命令可以带参数,它们被一起送入控制器的寄存器中参数,它们被一起送入控制器的寄存器中 当控制器接受一条命令后,可独立于当控制器接受一条命令后,可独立于CPUCPU完成指定完成指定操作,操作,CPUCPU可以转去执行其它运算。命令完成时,可以转去执行其它运算。命令完成时,控制器产生一个中断,控制器产生一个中断,CPUCPU响应中断,控制转给
13、操响应中断,控制转给操作系统。作系统。CPUCPU通过读控制器寄存器中的信息,获得通过读控制器寄存器中的信息,获得操作结果和设备状态操作结果和设备状态 控制器与设备之间的接口常常是一个低级接口。控制器与设备之间的接口常常是一个低级接口。例如磁盘,可以按每个磁道例如磁盘,可以按每个磁道8 8扇区,每个扇区扇区,每个扇区512512个字节进行格式化。然而,实际从驱动器出来的个字节进行格式化。然而,实际从驱动器出来的却是一连串的位流,以一个头标(却是一连串的位流,以一个头标(preamblepreamble)开开始,然后是一个扇区的始,然后是一个扇区的40964096位(位(5125128 8),最
14、后),最后是检查和或错误校验码(是检查和或错误校验码(ErrorCErrorC一一C C:ECCECC)。)。头标是在对磁盘格式化时写上的,它包括柱面和头标是在对磁盘格式化时写上的,它包括柱面和扇区数,扇区的大小和类似的一些数据扇区数,扇区的大小和类似的一些数据 控制器的任务是把串行的位流转换为字节块,并控制器的任务是把串行的位流转换为字节块,并进行必要的错误修正。首先,控制器按位进行组进行必要的错误修正。首先,控制器按位进行组装,然后存入控制器内部的缓冲区中形成以字节装,然后存入控制器内部的缓冲区中形成以字节为单位的块。在对块验证检查和并证明无错误时,为单位的块。在对块验证检查和并证明无错误
15、时,再将它复制到内存中再将它复制到内存中设备接口(续设备接口(续1 1)接口电路中:多个寄存器接口电路中:多个寄存器每个寄存器有唯一的一个地址,该地址每个寄存器有唯一的一个地址,该地址称为称为I/OI/O端口地址端口地址I/OI/O指令形式与指令形式与I/OI/O地址是相互关联的地址是相互关联的 主要有两种形式:主要有两种形式:n内存映像编址(内存映像内存映像编址(内存映像I/OI/O模式)模式)nI/OI/O独立编址(独立编址(I/OI/O专用指令)专用指令)3.I/O3.I/O端口地址端口地址存储映像编址存储映像编址n分配给系统中所有端口的地址空间与内存的地址空分配给系统中所有端口的地址空
16、间与内存的地址空间统一编址间统一编址n主机把主机把I/O端口看作一个存储单元,对端口看作一个存储单元,对I/O的读写操的读写操作等同于对存储器的操作作等同于对存储器的操作n优点优点n凡是可对存储器操作的指令都可对凡是可对存储器操作的指令都可对I/O端口操作端口操作n不需要专门的不需要专门的I/O指令指令nI/O端口可占有较大的地址空间端口可占有较大的地址空间n缺点:占用内存空间缺点:占用内存空间I/O独立编址独立编址n分配给系统中所有端口的地址空间是完全独立的,分配给系统中所有端口的地址空间是完全独立的,与内存的地址空间没有关系与内存的地址空间没有关系n主机使用专门的主机使用专门的I/O指令对
17、端口进行操作指令对端口进行操作n优点优点n外部设备不占用内存的地址空间外部设备不占用内存的地址空间n程序设计时,易于区分是对内存操作还是对程序设计时,易于区分是对内存操作还是对I/O端口操作端口操作n缺点:缺点:对对I/O端口操作的指令类型少,操作不灵活端口操作的指令类型少,操作不灵活n例子:例子:8086/8088,分配给,分配给I/O端口的地址空间端口的地址空间64K,0000H0FFFFH,只能用只能用IN和和OUT指令对其进行指令对其进行读写操作读写操作1 1、直接、直接I/OI/O(轮询)(轮询) 由由CPUCPU负责在机器内存与设备控制器数据寄存负责在机器内存与设备控制器数据寄存器
18、之间进行数据传送器之间进行数据传送2 2、中断驱动、中断驱动I/OI/O 为了减少设备驱动程序不断地询问控制器状态为了减少设备驱动程序不断地询问控制器状态寄存器的开销寄存器的开销 当当I/OI/O操作结束后,由设备控制器主动通知设操作结束后,由设备控制器主动通知设备驱动程序备驱动程序3 3、DMADMA4 4、通道、通道4.I/O4.I/O控制方式控制方式I/OI/O控制方式(续控制方式(续1 1)设备驱动程序设备驱动程序控制寄存器控制寄存器数据寄存器数据寄存器状态寄存器状态寄存器设备控制器设备控制器从设备上读数据从设备上读数据 数据数据应用程序应用程序系统接口系统接口硬件接口硬件接口I/OI
19、/O控制方式(续控制方式(续2 2)设备驱动程序设备驱动程序控制寄存器控制寄存器数据寄存器数据寄存器状态寄存器状态寄存器设备控制器设备控制器从设备上读数据从设备上读数据 数据数据应用程序应用程序设备处理程序设备处理程序中断处理程序中断处理程序设备状态表设备状态表 I IO O软件设计的基本思想软件设计的基本思想分层分层n把软件组织成为一系列的层把软件组织成为一系列的层n较低层软件考虑硬件的特性,并向较高较低层软件考虑硬件的特性,并向较高层软件提供接口层软件提供接口n较高层软件不依赖于硬件,并向用户提较高层软件不依赖于硬件,并向用户提供一个友好的、清晰的、简单的、功能供一个友好的、清晰的、简单的
20、、功能更强的接口更强的接口三、三、I/OI/O软件的组成软件的组成1.I1.IO O软件的层次软件的层次I/O软件各层的功能软件各层的功能(1 1)用户进程层执行输入输出系统调用)用户进程层执行输入输出系统调用,对,对I IO O数据进行格式化,为假脱机输入输出数据进行格式化,为假脱机输入输出作准备作准备(2 2)独立于设备的软件实现设备的命名、设)独立于设备的软件实现设备的命名、设备的保护、成块处理、缓冲技术和设备分配备的保护、成块处理、缓冲技术和设备分配(3 3)设备驱动程序设置设备寄存器、检查设)设备驱动程序设置设备寄存器、检查设备的执行状态备的执行状态(4 4)中断处理程序负责)中断处
21、理程序负责I IO O完成时,唤醒设完成时,唤醒设备驱动程序进程,进行中断处理备驱动程序进程,进行中断处理(5 5)硬件层实现物理)硬件层实现物理I IO O的操作的操作2.2.设备驱动程序设备驱动程序 与设备密切相关的代码放在设备驱动程序中,与设备密切相关的代码放在设备驱动程序中,每个设备驱动程序处理一种设备类型每个设备驱动程序处理一种设备类型 每一个控制器都设有一个或多个设备寄存器,每一个控制器都设有一个或多个设备寄存器,用来存放向设备发送的命令和参数。设备驱用来存放向设备发送的命令和参数。设备驱动程序负责释放这些命令,并监督它们正确动程序负责释放这些命令,并监督它们正确执行执行设备驱动程
22、序(续设备驱动程序(续1 1) 一般,设备驱动程序的任务是接收来自与设一般,设备驱动程序的任务是接收来自与设备无关的上层软件的抽象请求,并执行这个备无关的上层软件的抽象请求,并执行这个请求请求 在设备驱动程序的进程释放一条或多条命令在设备驱动程序的进程释放一条或多条命令后,系统有两种处理方式,多数情况下,执后,系统有两种处理方式,多数情况下,执行设备驱动程序的进程必须等待命令完成行设备驱动程序的进程必须等待命令完成,这样,在命令开始执行后,它阻塞自已,直这样,在命令开始执行后,它阻塞自已,直到中断处理时将它解除阻塞为止。而在其它到中断处理时将它解除阻塞为止。而在其它情况下,命令执行不必延迟就很
23、快完成情况下,命令执行不必延迟就很快完成 3.3.设备独立的软件设备独立的软件 虽然虽然I IO O软件中一部分是设备专用的,但大软件中一部分是设备专用的,但大部分软件是与设备无关的。设备驱动程序与部分软件是与设备无关的。设备驱动程序与设备独立软件之间的确切界限是依赖于具体设备独立软件之间的确切界限是依赖于具体系统的系统的设备独立的软件(续设备独立的软件(续1 1)设备独立的软件(续设备独立的软件(续2 2) 1.1.独立于设备的软件的基本任务是实现所有独立于设备的软件的基本任务是实现所有设备都需要的功能,并且向用户级软件提供设备都需要的功能,并且向用户级软件提供一个统一的接口一个统一的接口
24、2.2.如何给文件和设备这样的对象命名是操作如何给文件和设备这样的对象命名是操作系统中的一个主要课题。独立于设备的软件系统中的一个主要课题。独立于设备的软件负责把设备的符号名映射到正确的设备驱动负责把设备的符号名映射到正确的设备驱动上上 3.3.设备保护设备保护 系统如何防止无权存取设备的用户存取设备系统如何防止无权存取设备的用户存取设备呢?呢?设备独立的软件(续设备独立的软件(续3 3) 4.4.不同的磁盘可以采用不同的扇区尺寸。向不同的磁盘可以采用不同的扇区尺寸。向较高层软件掩盖这一事实并提供大小统一的较高层软件掩盖这一事实并提供大小统一的块尺寸,这正是设备独立软件的一个任务。块尺寸,这正
25、是设备独立软件的一个任务。它可将若干扇区合成一个逻辑块。这样,较它可将若干扇区合成一个逻辑块。这样,较高层的软件只与抽象设备打交道,独立于物高层的软件只与抽象设备打交道,独立于物理扇区的尺寸而使用等长的逻辑块理扇区的尺寸而使用等长的逻辑块 5.5.缓冲技术缓冲技术 6.6.设备分配设备分配 7.7.出错处理出错处理 4.4.用户空间的用户空间的I IO O软件软件 尽管大部分尽管大部分I IO O软件都包含在操作系统中,软件都包含在操作系统中,但仍有一小部分是由与用户程序连接在一起但仍有一小部分是由与用户程序连接在一起的库过程,甚至完全由运行于核外的程序构的库过程,甚至完全由运行于核外的程序构
26、成。系统调用,包括成。系统调用,包括I IO O系统调用,通常由系统调用,通常由库过程实现库过程实现 这些过程所做的工作只是将系统调用时所用这些过程所做的工作只是将系统调用时所用的参数放在合适的位置,由其它的的参数放在合适的位置,由其它的I IO O过程过程实际实现真正的操作实际实现真正的操作四、设备相关技术四、设备相关技术1.Spooling1.Spooling(虚拟设备)技术虚拟设备)技术 一个虚拟设备一个虚拟设备 一个资源转换技术一个资源转换技术(用空间,如输入,输出等换取(用空间,如输入,输出等换取CPUCPU时间)时间)解决问题:解决问题: 在进程所需物理设备不存在或被占用时使用在进
27、程所需物理设备不存在或被占用时使用该设备该设备假若进程打开打印机特殊文件后几小时内无所事事,假若进程打开打印机特殊文件后几小时内无所事事,其他进程什么都打印不了!其他进程什么都打印不了!解决方案:解决方案:n创建值班(精灵)进程(创建值班(精灵)进程(daemondaemon)、)、SPOOLingSPOOLing目录目录n进程首先生成要打印的文件,放入进程首先生成要打印的文件,放入SPOOLingSPOOLing目录目录n值班进程:唯一获准使用打印机特殊文件的进程值班进程:唯一获准使用打印机特殊文件的进程 用以打印用以打印SPOOLingSPOOLing目录里的文件目录里的文件n通过禁止对特
28、殊文件的直接使用、提高了使用效率通过禁止对特殊文件的直接使用、提高了使用效率打印机的打印机的SPOOLingSPOOLing值班进程值班进程网络的网络的SPOOLingSPOOLing值班进程值班进程SPOOLingSPOOLing技术今天仍被广泛使用技术今天仍被广泛使用n网络文件传送网络文件传送 先把文件送到网络先把文件送到网络SPOOLingSPOOLing目录,然后网络值班进目录,然后网络值班进程把它取出并传递到目标地址程把它取出并传递到目标地址nInternetInternet电子邮件系统电子邮件系统 为了寄邮,调用电子邮件程序为了寄邮,调用电子邮件程序 待发信存在待发信存在SPOOL
29、ingSPOOLing中供以后传输中供以后传输n注意:注意:SPOOLingSPOOLing只提高设备利用率,缩短用户程序执只提高设备利用率,缩短用户程序执行时间,并不提高行时间,并不提高CPUCPU利用率利用率(1)定义:通道是独立于定义:通道是独立于CPUCPU的专门负责数据输的专门负责数据输入入/ /输出传输工作的处理机,对外部设备实现统输出传输工作的处理机,对外部设备实现统一管理,代替一管理,代替CPUCPU对输入对输入/ /输出操作进行控制,输出操作进行控制,从而使输入,输出操作可与从而使输入,输出操作可与CPUCPU并行操作。并行操作。 可以执行通道程序可以执行通道程序(2)引入通
30、道的目的)引入通道的目的 为了使为了使CPU从从I/O事务中解脱出来,同时为了提事务中解脱出来,同时为了提高高CPU与设备,设备与设备之间的并行工作能与设备,设备与设备之间的并行工作能力力2.通道技术通道技术n字节多路通道字节多路通道 字节多路通道以字节为单位传输信息,它可以字节多路通道以字节为单位传输信息,它可以分时地执行多个通道程序。当一个通道程序控分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传转去执行另一个通道程序,控制另一台设备传送信息送信息 主要连接以字节为单位的低速主要
31、连接以字节为单位的低速I/OI/O设备,如打设备,如打印机,终端印机,终端 以字节为单位交叉传输,当一台传送一个字节以字节为单位交叉传输,当一台传送一个字节后,立即转去为另一台传送字节后,立即转去为另一台传送字节(3)分类)分类分类(续分类(续1)n选择通道选择通道 选择通道是以成组方式工作的,即每次传送选择通道是以成组方式工作的,即每次传送一批数据,故传送速度很高。选择通道在一一批数据,故传送速度很高。选择通道在一段时间内只能执行一个通道程序,只允许一段时间内只能执行一个通道程序,只允许一台设备进行数据传输台设备进行数据传输分类(续分类(续2) 当这台设备数据传输完成后,再选择与通道当这台设
32、备数据传输完成后,再选择与通道连接的另一台设备,执行相应的通道程序连接的另一台设备,执行相应的通道程序 主要连接磁盘,磁带等高速主要连接磁盘,磁带等高速I/OI/O设备设备选择通道选择通道分类(续分类(续3)n成组多路通道成组多路通道 它结合了选择通道传送速度高和字节多路通道能进它结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点。它先为一台设备执行一条行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令通道指令 主要连接高速设备主要连接高速设备 这样,对于连接多台磁盘机的数组多路通道,它可这样
33、,对于连接多台磁盘机的数组多路通道,它可以启动它们同时执行移臂定位操作,然后,按序交以启动它们同时执行移臂定位操作,然后,按序交叉地传输一批批数据。数据多路通道实际上是对通叉地传输一批批数据。数据多路通道实际上是对通道程序采用多道程序设计的硬件实现道程序采用多道程序设计的硬件实现(4)硬件连接结构)硬件连接结构 通道:通道:执行通道程序,向控制器发出命令,并执行通道程序,向控制器发出命令,并具有向具有向CPUCPU发中断信号的功能。发中断信号的功能。 一旦一旦CPUCPU发出发出指令,启动通道,则通道独立于指令,启动通道,则通道独立于CPUCPU工作。一工作。一个通道可连接多个控制器,一个控制
34、器可连接个通道可连接多个控制器,一个控制器可连接多个设备,形成树形交叉连接多个设备,形成树形交叉连接 主要目的是启动外设时:主要目的是启动外设时:n提高了控制器效率提高了控制器效率n提高可靠性提高可靠性n提高并行度提高并行度通道连接通道连接交叉连接交叉连接(5)通道工作原理通道工作原理 通道相当于一个功能简单的处理机,包含通道相当于一个功能简单的处理机,包含通道指令(空操作,读操作,写操作,通道指令(空操作,读操作,写操作,控制,转移操作),并可执行用这些指控制,转移操作),并可执行用这些指令编写的通道程序令编写的通道程序通道工作原理通道工作原理n通道运算控制部件通道运算控制部件通道地址字通道
35、地址字 CAW: 记录通道程序在内存中的地址记录通道程序在内存中的地址通道命令字通道命令字 CCW: 保存正在执行的通道指令保存正在执行的通道指令通道状态字通道状态字 CSW: 存放通道执行后的返回结果存放通道执行后的返回结果通道数据字通道数据字 CDW:存放传输数据存放传输数据 通道和通道和CPU共用内存,通过周期窃取方式取得共用内存,通过周期窃取方式取得通道工作原理(续通道工作原理(续1)n通道命令及格式通道命令及格式 用于用于I/OI/O操作的命令主要有两种:操作的命令主要有两种: I/OI/O指令:启动通道程序指令:启动通道程序 通道命令:对通道命令:对I/OI/O操作进行控制操作进行
36、控制 读、反读、写、测试设备状态的数据传读、反读、写、测试设备状态的数据传输命令、用于设备控制的命令(磁带反输命令、用于设备控制的命令(磁带反绕、换页)、实现通道程序内部控制的绕、换页)、实现通道程序内部控制的转移命令转移命令通道工作原理(续通道工作原理(续2) 命令格式一般包括:操作码、数据传输命令格式一般包括:操作码、数据传输内存地址、特征位、计数器内存地址、特征位、计数器 编制一个通道程序,从磁带机上读入编制一个通道程序,从磁带机上读入200200字节的信息,送入内存(字节的信息,送入内存(10001000)16 16 开始开始的单元。的单元。 通道命令码:通道命令码:“0707”反绕反
37、绕 “0202”读读 CCW1 X CCW1 X “0707” * * X X “4040” 1 1; CCW2 X CCW2 X “0202” 1000 X 1000 X “0000” 200 200;通道工作原理(续通道工作原理(续3)n工作原理工作原理 CPUCPU:执行用户程序,当遇到执行用户程序,当遇到I/OI/O请求时,请求时,可根据该请求生成通道程序放入内存可根据该请求生成通道程序放入内存(也可事先编好放入内存),并将该通(也可事先编好放入内存),并将该通道程序的首地址放入道程序的首地址放入CAWCAW中;之后执行中;之后执行“启动启动I/OI/O”指令,启动通道工作指令,启动通
38、道工作通道工作原理(续通道工作原理(续4) 通道:接收到通道:接收到“启动启动I/OI/O”指令后指令后,从,从CAWCAW中取出通道程序的首地址,并根据首地中取出通道程序的首地址,并根据首地址取出第一条指令放入址取出第一条指令放入CCWCCW中,同时向中,同时向CPUCPU发回答信号发回答信号,使,使CPUCPU可继续执行其他可继续执行其他程序,而通道则开始执行通道程序,完程序,而通道则开始执行通道程序,完成传输工作成传输工作通道工作原理(续通道工作原理(续5)(通道程序完成实际(通道程序完成实际I/OI/O,启动启动I/OI/O设备,设备,执行完毕后执行完毕后, ,如果还有下一条指令,则继
39、如果还有下一条指令,则继续执行续执行, , 否则表示传输完成)否则表示传输完成) 当通道传输完成最后一条指令时,向当通道传输完成最后一条指令时,向CPU发发I/O中断,并且通道停止工作。中断,并且通道停止工作。CPU接收中断信号,从接收中断信号,从CSW中取得有关中取得有关信息,决定下一步做什么信息,决定下一步做什么通道工作原理(续通道工作原理(续6)通道的发展通道的发展n新的通道思想综合了许多新的技术新的通道思想综合了许多新的技术n在个人计算机中,芯片组中专门在个人计算机中,芯片组中专门I/O处理的芯片,称为处理的芯片,称为IOP(IO Processor),),发挥通道的作用发挥通道的作用
40、nIBM 390 中,沿用了输入输出通道概念中,沿用了输入输出通道概念 IBM于于1998年推出光纤通道技术(称为年推出光纤通道技术(称为FICON),),可可通过通过 FICON 连接多达连接多达127个大容量个大容量I/O设备。传输速度设备。传输速度是是333MHzs,未来将达到未来将达到1GHzs。 光纤通道技术具有数据传输速率高、传输距离远,可简光纤通道技术具有数据传输速率高、传输距离远,可简化大型存储系统设计的优点化大型存储系统设计的优点 在大容量高速存储,如大型数据库、多媒体、数字影在大容量高速存储,如大型数据库、多媒体、数字影像等应用领域,有广泛前景像等应用领域,有广泛前景3.D
41、MA技术技术 不用不用DMADMA时,磁盘如何读:时,磁盘如何读: 首先,控制器从磁盘驱动器串行地一位一位地读一首先,控制器从磁盘驱动器串行地一位一位地读一个块,直到将整块信息放入控制器的内部缓冲区中个块,直到将整块信息放入控制器的内部缓冲区中 其次,它做和校验计算,以核实没有读错误发生其次,它做和校验计算,以核实没有读错误发生 然后控制器产生一个中断。然后控制器产生一个中断。CPUCPU响应中断,控制转响应中断,控制转给操作系统。当操作系统开始运行时,它重复地从给操作系统。当操作系统开始运行时,它重复地从控制器缓冲区中一次一个字节或一个字地读这个磁控制器缓冲区中一次一个字节或一个字地读这个磁
42、盘块的信息,并将其送入内存中盘块的信息,并将其送入内存中 DMA技术技术n数据在内存与数据在内存与I/OI/O设备间的直接成块传送设备间的直接成块传送nCPUCPU在开始时向设备发在开始时向设备发“传送一块传送一块”命令,结束时命令,结束时进行相应处理,实际操作由进行相应处理,实际操作由DMADMA硬件直接完成硬件直接完成nDMADMA的功能可以以独立的的功能可以以独立的DMADMA部件在系统部件在系统I/OI/O总线上总线上完成,也可整合到完成,也可整合到I/OI/O部件中完成部件中完成nDMADMA通过系统总线代替通过系统总线代替CPUCPU管理数据的存入或取出管理数据的存入或取出n 当当
43、CPUCPU不需要系统总线时可以使用总线不需要系统总线时可以使用总线n DMADMA可以强迫可以强迫CPUCPU暂时延迟其他操作,获取一个暂时延迟其他操作,获取一个总线周期(周期窃取)总线周期(周期窃取)n不需要不需要CPUCPU介入,因而减轻了介入,因而减轻了CPUCPU负担负担控制器按照指定存储器地址,把第一个字节送入内存控制器按照指定存储器地址,把第一个字节送入内存然后,按指定字节数进行数据传送然后,按指定字节数进行数据传送每当传送一个字节后,字节计数器值减每当传送一个字节后,字节计数器值减1 1,直到字节计数器等于,直到字节计数器等于0 0此时,控制器引发中断,通知操作系统,操作完成此
44、时,控制器引发中断,通知操作系统,操作完成CPUCPU提供提供待读取块的磁盘地址待读取块的磁盘地址目标存储地址目标存储地址待读取字节数待读取字节数整块数据读进缓冲区整块数据读进缓冲区核准校验核准校验DMADMA工作示例工作示例(以硬盘为例)(以硬盘为例)(1 1)缓冲技术的引入)缓冲技术的引入 最早引入:最早引入:CPUCPU与与I/OI/O设备之间设备之间 凡是数据到达和离去速度不匹配的地方凡是数据到达和离去速度不匹配的地方均可采用缓冲技术均可采用缓冲技术 目的:目的:n缓解缓解CPUCPU与与I/OI/O设备之间速度不匹配的矛盾设备之间速度不匹配的矛盾n提高提高CPUCPU与与I/OI/O
45、设备之间的并行性设备之间的并行性n减少了减少了I/OI/O设备对设备对CPUCPU的中断请求次数,放宽的中断请求次数,放宽CPUCPU对中断响应时间的要求对中断响应时间的要求4. 缓冲技术缓冲技术(2)缓冲区设置)缓冲区设置 硬缓冲:硬缓冲:在设备中设置缓冲区,由硬件实现在设备中设置缓冲区,由硬件实现 软缓冲:软缓冲:在内存中开辟一个空间,用作缓冲区在内存中开辟一个空间,用作缓冲区缓冲技术(续缓冲技术(续1)(3)缓冲区管理)缓冲区管理 单缓冲单缓冲 当用户进程发出当用户进程发出I/O请求时,操作系统在请求时,操作系统在内存的系统空间为该操作分配一个缓冲区,可内存的系统空间为该操作分配一个缓冲
46、区,可以实现预读和滞后写以实现预读和滞后写 双缓冲双缓冲 可以实现用户数据区可以实现用户数据区缓冲区之间交换数缓冲区之间交换数据和缓冲区据和缓冲区外设之间交换数据的并行外设之间交换数据的并行 缓冲技术(续缓冲技术(续2)缓冲池:缓冲池: 又称又称循环缓冲循环缓冲 多个缓冲区连接起来统一管理多个缓冲区连接起来统一管理 引入系统缓冲池,采用有限缓冲区的生产者引入系统缓冲池,采用有限缓冲区的生产者/消费者模型对缓冲池中的缓冲区进行循环使用消费者模型对缓冲池中的缓冲区进行循环使用 常采用多缓冲管理常采用多缓冲管理 缓冲区结合预读和滞后写技术对具有重复性及阵缓冲区结合预读和滞后写技术对具有重复性及阵发性
47、发性I/O进程、提高进程、提高I/O速度很有帮助速度很有帮助缓冲技术(续缓冲技术(续3)(4)例子)例子 终端输入软件中的键盘驱动程序终端输入软件中的键盘驱动程序 任务之一:收集字符任务之一:收集字符 两种常见的字符缓冲方法:两种常见的字符缓冲方法:n公共缓冲池(驱动程序中)公共缓冲池(驱动程序中)n终端数据结构缓冲终端数据结构缓冲缓冲技术(续缓冲技术(续4)终端终端数据结构数据结构公共公共缓冲池缓冲池终端终端0123终端终端数据结构数据结构终端终端01终端终端0的缓冲区的缓冲区终端终端1的缓冲区的缓冲区公共缓冲池公共缓冲池 终端固定缓冲区终端固定缓冲区缓冲技术(续缓冲技术(续5)缓冲技术(续
48、缓冲技术(续6)(5)UNIX的缓冲技术的缓冲技术n采用缓冲池技术,来平滑和加快文件信息从内存到采用缓冲池技术,来平滑和加快文件信息从内存到磁盘的传输磁盘的传输n并充分利用以前从磁盘读入已传入用户区、但仍在并充分利用以前从磁盘读入已传入用户区、但仍在缓冲区的数据缓冲区的数据 即:当从磁盘上读数据时,如果数据已经在缓冲区即:当从磁盘上读数据时,如果数据已经在缓冲区中,中,则系统直接从缓冲区中读出,而不必从盘上读;则系统直接从缓冲区中读出,而不必从盘上读;当数据不在缓冲区时,系统首先把数据从磁盘传送当数据不在缓冲区时,系统首先把数据从磁盘传送到缓冲区,再从缓冲区读出到缓冲区,再从缓冲区读出 好处:
49、尽可能减少磁盘好处:尽可能减少磁盘I/OI/O的次数,提高系统运行的次数,提高系统运行的速度的速度缓冲技术(续缓冲技术(续7)UNIX System UNIX System n由由200200个缓冲区组成的缓冲池个缓冲区组成的缓冲池n每个缓冲区的长度可以是每个缓冲区的长度可以是512512字节或字节或10241024字节字节n每个缓冲区由两部分组成:每个缓冲区由两部分组成: 缓冲数据区:存放数据的区域缓冲数据区:存放数据的区域 缓冲控制块或缓冲首部:用于控制的区域缓冲控制块或缓冲首部:用于控制的区域 系统通过缓冲控制块来实现对缓冲区的管理系统通过缓冲控制块来实现对缓冲区的管理缓冲技术(续缓冲技
50、术(续8)说明:说明:n逻辑设备号和盘块号逻辑设备号和盘块号分别标志出文件系统分别标志出文件系统和数据所在的盘块号,和数据所在的盘块号,是缓冲区的唯一标志是缓冲区的唯一标志n状态项指明了该缓冲状态项指明了该缓冲区当前的状态:忙区当前的状态:忙闲、闲、上锁上锁开锁开锁、是、是否延迟写否延迟写、数据有效、数据有效性等性等n两组指针(两组指针(av和和b)用)用于对缓冲池的分配管于对缓冲池的分配管理理设备号设备号盘块号盘块号状态状态指向缓冲区的指针指向缓冲区的指针指向队列的后继指向队列的后继buf的指针的指针b-back指向队列的前驱指向队列的前驱buf的指针的指针b-forw指向队列的链指向队列的
51、链buf的指针的指针av-back指向队列的链指向队列的链buf的指针的指针av-forw缓冲技术(续缓冲技术(续9)缓冲池结构:缓冲池结构:n空闲缓冲区队列空闲缓冲区队列( (空闲空闲avav队列队列) ) 队列头部为队列头部为bfreelistbfreelist 系统初始化时,所有缓冲区按序号大小挂在空闲系统初始化时,所有缓冲区按序号大小挂在空闲avav队列上,当申请一个缓冲区时,从空闲队列上,当申请一个缓冲区时,从空闲avav队列队首队列队首取下一个缓冲区,而释放一个缓冲区时将其挂入空取下一个缓冲区,而释放一个缓冲区时将其挂入空闲闲avav队列队尾队列队尾缓冲技术(续缓冲技术(续10)n
52、散列队列(散列队列(设备设备缓冲缓冲队列、设备队列、设备b b链链) 链接所有分配给各类链接所有分配给各类设备使用的设备使用的缓冲区缓冲区 buf用用b b双向链,双向链,可以有可以有64个队列,每个个队列,每个队列头部有队列头部有头标头标 设备为设备为b_devb_dev上的逻辑上的逻辑块块b在散列队列的在散列队列的头标为:头标为: i=(i=(b_dev+bb_dev+b) mod 64 ) mod 64 n设备设备IOIO请求队列:请求队列:bufbuf用用avav单向链单向链n空设备队列:空设备队列:buf用用b b双向链,队列头部为双向链,队列头部为bfreelistbfreelis
53、t缓冲技术(续缓冲技术(续11)每个每个bufbuf同时在同时在avav链和链和b b链:链:n开始:在空闲开始:在空闲avav链和空设备队列链和空设备队列n开始开始IOIO请求:在设备请求:在设备IOIO请求队列和散列队列请求队列和散列队列nIOIO完成:在空闲完成:在空闲avav链和散列队列链和散列队列n后续后续IOIO请求:在设备请求:在设备IOIO请求队列和散列队列,请求队列和散列队列,在散列队列改变队列在散列队列改变队列缓冲技术(续缓冲技术(续12) 当进程想从指定的盘块读取数据时,系统根据盘块当进程想从指定的盘块读取数据时,系统根据盘块号从散列队列中查找,如找到缓冲区,则将该缓冲号
54、从散列队列中查找,如找到缓冲区,则将该缓冲区状态标记为区状态标记为“忙忙”,并从,并从空闲空闲av队列队列中取下,接中取下,接着完成着完成从缓冲区到内存用户区的数据传送从缓冲区到内存用户区的数据传送。如果。如果在在散列队列中未找到时,则从散列队列中未找到时,则从空闲空闲av队列队首摘取一队列队首摘取一个缓冲区,个缓冲区,插入设备插入设备I/OI/O请求队列;请求队列;并从原散列队并从原散列队列中取下,列中取下,插入由读入信息插入由读入信息盘块号确定的盘块号确定的新的新的散列散列队列中。当数据从磁盘块读队列中。当数据从磁盘块读入入到缓冲区到缓冲区后,后,缓冲区缓冲区从从设备设备I/OI/O请求队
55、列取下请求队列取下。当系统当系统完成完成从缓冲区到从缓冲区到内存用户区的数据传送后,要把缓冲区释放,链入内存用户区的数据传送后,要把缓冲区释放,链入空闲空闲av队列队尾队列队尾缓冲技术(续缓冲技术(续13) 当数据从磁盘块读当数据从磁盘块读入到缓冲区,并传送到内存用户入到缓冲区,并传送到内存用户区后,该缓冲区一直保留在原散列队列中,即它的区后,该缓冲区一直保留在原散列队列中,即它的数据一直有效。如它又要被使用,则又要从数据一直有效。如它又要被使用,则又要从空闲空闲avav队列链中取下,使用完后插入到队列链中取下,使用完后插入到空闲空闲avav队列队尾。队列队尾。如它一直未使用,则该缓冲区从如它
56、一直未使用,则该缓冲区从空闲空闲avav队列队尾慢队列队尾慢慢升到队首,最后被重新分配,旧的盘块数据才被慢升到队首,最后被重新分配,旧的盘块数据才被置换置换 系统对缓冲区的分配是采用近似系统对缓冲区的分配是采用近似LRU算法。算法。1. 设备的分配与回收设备的分配与回收 当某进程向系统提出当某进程向系统提出I/OI/O请求时,设备分请求时,设备分配程序按一定策略分配设备、控制器和配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主通道,形成一条数据传输通路,以供主机和设备间信息交换机和设备间信息交换五、设备管理五、设备管理(1 1)设备管理有关的数据结构)设备管理有关的数据结构
57、n描述设备、控制器等部件的表格:描述设备、控制器等部件的表格:系统中常常为系统中常常为每一个部件、每一台设备分别设置一张表格,常每一个部件、每一台设备分别设置一张表格,常称为设备表或部件控制块。这类表格具体描述设称为设备表或部件控制块。这类表格具体描述设备的类型、标识符、状态,以及当前使用者的进备的类型、标识符、状态,以及当前使用者的进程标识符等程标识符等n建立同类资源的队列:建立同类资源的队列:系统为了方便对系统为了方便对I/OI/O设备的设备的分配管理,通常在设备表的基础上通过指针将相分配管理,通常在设备表的基础上通过指针将相同物理属性的设备连成队列(称设备队列)同物理属性的设备连成队列(
58、称设备队列)n面向进程面向进程I/OI/O请求的动态数据结构:请求的动态数据结构:每当进程发出每当进程发出I/OI/O请求时,系统建立一张表格(称请求时,系统建立一张表格(称I/OI/O请求包),请求包),将此次将此次I/OI/O请求的参数填入表中,同时也将该请求的参数填入表中,同时也将该I/OI/O有关的系统缓冲区地址等信息填入表中。有关的系统缓冲区地址等信息填入表中。I/OI/O请求请求包随着包随着I/OI/O的完成而被删除的完成而被删除n建立建立I/OI/O队列:队列:如请求包队列如请求包队列设备分配与回收(续设备分配与回收(续2 2)(2)设备有关的数据结构)设备有关的数据结构n设备控
59、制块设备控制块DCB(设备控制表设备控制表DCT)n控制器控制块控制器控制块COCB(控制器控制表(控制器控制表COCT)n通道控制块通道控制块CHCB(通道控制表(通道控制表CHCT)n系统设备表系统设备表SDT 根据用户请求的根据用户请求的I/O设备的逻辑名,查找逻辑设备的逻辑名,查找逻辑设备和物理设备的映射表;以物理设备为索引,设备和物理设备的映射表;以物理设备为索引,查找查找SDT,找到该设备所连接的,找到该设备所连接的DCT;继续查;继续查找与该设备连接的找与该设备连接的COCT和和CHCT,就找到了,就找到了一条通路一条通路设备分配与回收(续设备分配与回收(续3 3)表项表项1表项
60、表项i设备类型设备类型设备标识符设备标识符进程标识符进程标识符DCT表指针表指针驱动程序入口地址驱动程序入口地址表项表项1表项表项i设备类型设备类型设备标识符设备标识符设备状态设备状态(等等/不等,忙不等,忙/闲)闲)COCT表指针表指针重复执行的次数或时间重复执行的次数或时间设备队列的队首指针设备队列的队首指针设备队列的队尾指针设备队列的队尾指针表项表项1表项表项i控制器标识符控制器标识符控制器状态(忙控制器状态(忙/闲)闲)CHCT表指针表指针控制器队列的队首指针控制器队列的队首指针控制器队列的队尾指针控制器队列的队尾指针表项表项1表项表项i通道标识符通道标识符通道状态(忙通道状态(忙/闲
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 免疫化疗患者的感染防控
- 万达工程造价审计制度
- 中心中医绩效考核制度
- 保安队绩效考核制度
- 出版策划绩效考核制度
- 农民夜校教育培训制度
- 仲裁员教育培训制度
- 审计局公务接待管理制度
- 审计项目责任追究制度
- 三亚绩效考核制度
- 农业种植基地合作开发和利益分配协议
- 湖北2025年地生中考试卷及答案
- 2025年高职汽车检测与维修技术(汽车检测)试题及答案
- 2025年11月近期典型事故案例警示教育
- 卵巢肿瘤病例讨论课件
- 2025年时事热点政治题及参考答案(满分必刷)
- 2026年国网内蒙古东部电力校园招聘(工程管理类)复习题及答案
- 2025年大学《老年学-老年学概论》考试备考试题及答案解析
- 2025年江苏安全技术职业学院单招职业技能测试题库完整答案详解
- 钢结构防火涂料应用技术规程TCECS 24-2020
- 二年级语文拼音教学活动方案
评论
0/150
提交评论