1、2022-11-6操作系统设备管理1操作系统设备管理操作系统设备管理操作系统设备管理1I/O管理示意管理示意应用程序应用程序文件管理文件管理设备驱动程序设备驱动程序控制寄存器控制寄存器数据寄存器数据寄存器状态寄存器状态寄存器设备控制器设备控制器应用编程接口应用编程接口硬件接口硬件接口操作系统设备管理1一、概述一、概述1、I/O的特点的特点 CPU与与I/O的速度差别大的速度差别大 尽量使两者交叠运行尽量使两者交叠运行 减少由于速度差异造成的整体性能开销减少由于速度差异造成的整体性能开销(1 1)I/OI/O性能经常成为系统性能的瓶颈性能经常成为系统性能的瓶颈(2 2)操作系统庞大复杂的原因之一
2、:)操作系统庞大复杂的原因之一:资源多、杂,并发,均来自资源多、杂,并发,均来自I/OI/On外设种类繁多,结构各异外设种类繁多,结构各异n输入输出数据信号类型不同输入输出数据信号类型不同n速度差异很大速度差异很大(3 3)与其他功能联系密切,特别是文件系统)与其他功能联系密切,特别是文件系统操作系统设备管理1(1 1)按功能特性分)按功能特性分n 存储型设备存储型设备n 输入输出型设备(交互型设备)输入输出型设备(交互型设备)n 数据通信设备数据通信设备2、设备的分类、设备的分类操作系统设备管理1(2 2)按数据组织分)按数据组织分 块设备块设备 以数据块为单位存储、传输信息以数据块为单位存
3、储、传输信息 传输速率较高、可寻址(随机读写)传输速率较高、可寻址(随机读写)字符设备字符设备 以字符为单位存储、传输信息以字符为单位存储、传输信息 传输速率高、不可寻址传输速率高、不可寻址设备的分类(续设备的分类(续1)操作系统设备管理1(3 3)按资源分配角度分)按资源分配角度分 独占设备独占设备 在一段时间内只能有一个进程使用的设备,一在一段时间内只能有一个进程使用的设备,一般为低速般为低速I/OI/O设备(如打印机,磁带等)设备(如打印机,磁带等)共享设备共享设备 在一段时间内可有多个进程共同使用的设备,在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利多
4、个进程以交叉的方式来使用设备,其资源利用率高(如硬盘)用率高(如硬盘)设备的分类(续设备的分类(续2)操作系统设备管理1虚设备虚设备 在一类设备上模拟另一类设备,常用共在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备低速设备,被模拟的设备称为虚设备 目的:将慢速的独占设备改造成多个用户可共目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率享的设备,提高设备的利用率(实例:(实例:SPOOLingSPOOLing技术,利用虚设备技术技术,利用虚设备技术 用硬盘模拟输入输出设备)用硬盘模拟输入输出
5、设备)设备的分类(续设备的分类(续3)操作系统设备管理1SPOOLingSPOOLing技术技术 为解决独立设备数量少,速度慢,不能为解决独立设备数量少,速度慢,不能满足众多进程的要求,而且在进程独占设满足众多进程的要求,而且在进程独占设备期间,设备利用率比较低而提出的一种备期间,设备利用率比较低而提出的一种设备管理技术设备管理技术 另一种资源转换技术另一种资源转换技术设备的分类(续设备的分类(续4)操作系统设备管理1(1 1)按照用户的请求,控制设备的各种操)按照用户的请求,控制设备的各种操作,完成作,完成I/OI/O设备与内存之间的数据交换,设备与内存之间的数据交换,最终完成用户的最终完成
6、用户的I/OI/O请求请求n设备分配与回收设备分配与回收 记录设备的状态记录设备的状态 根据用户的请求和设备的类型,采用一定的分根据用户的请求和设备的类型,采用一定的分配算法,选择一条数据通路配算法,选择一条数据通路 n执行执行设备驱动程序设备驱动程序,实现真正的,实现真正的I/OI/O操作操作n设备中断处理:设备中断处理:处理外部设备的中断处理外部设备的中断n缓冲区管理:缓冲区管理:管理管理I/OI/O缓冲区缓冲区3.3.设备管理的目标和任务设备管理的目标和任务操作系统设备管理1(2 2)建立)建立方便方便、统一统一的的独立于设备独立于设备的接口的接口方便性:向用户提供使用外部设备的方便接口
7、,方便性:向用户提供使用外部设备的方便接口,使用户编程时不考虑设备的复杂物理特性使用户编程时不考虑设备的复杂物理特性统一性:对不同的设备采取统一的操作方式,在统一性:对不同的设备采取统一的操作方式,在用户程序中使用的是逻辑设备用户程序中使用的是逻辑设备 逻辑设备与物理设备、屏蔽硬件细节(设备的逻辑设备与物理设备、屏蔽硬件细节(设备的物理细节,错误处理,不同物理细节,错误处理,不同I/OI/O的差异性)的差异性)设备管理的目标和任务(续设备管理的目标和任务(续1 1)操作系统设备管理1设备独立性(设备无关性)设备独立性(设备无关性)目的:目的:提高操作系统的提高操作系统的可适应性可适应性和和可扩
8、展性可扩展性 从用户角度:从用户角度:用户在编制程序时,使用逻辑用户在编制程序时,使用逻辑设备名,由系统实现从逻辑设备到物理设备设备名,由系统实现从逻辑设备到物理设备(实际设备)的转换,并实施(实际设备)的转换,并实施I/O操作操作 从系统角度:从系统角度:设计并实现设计并实现I IO O软件时,软件时,除了除了直接与设备打交道的低层软件之外,其他部直接与设备打交道的低层软件之外,其他部分的软件不依赖于硬件分的软件不依赖于硬件好处:好处:设备分配时的灵活性设备分配时的灵活性易于实现易于实现I/OI/O重定向重定向操作系统设备管理1(3)充分利用各种技术()充分利用各种技术(通道,中断,缓通道,
9、中断,缓冲,异步冲,异步I/O等)提高等)提高CPU与设备、设备与设备、设备与设备之间的并行工作能力,充分利用与设备之间的并行工作能力,充分利用资源,提高资源利用率资源,提高资源利用率n 并行性并行性n 均衡性(使设备充分忙碌)均衡性(使设备充分忙碌)设备管理的目标和任务(续设备管理的目标和任务(续3 3)操作系统设备管理1(4)保护)保护 设备传送或管理的数据应该是安全的、设备传送或管理的数据应该是安全的、不被破坏的、保密的不被破坏的、保密的设备管理的目标和任务(续设备管理的目标和任务(续4 4)操作系统设备管理11.1.设备组成设备组成 I IO O设备一般由机械和电子两部分组成设备一般由
10、机械和电子两部分组成 把这两部分分开处理,以提供更加模块化,把这两部分分开处理,以提供更加模块化,更加通用的设计更加通用的设计二、二、I/OI/O硬件特点硬件特点操作系统设备管理1 设备组成(续设备组成(续1 1)(1 1)物理设备)物理设备 机械部分是设备本身(物理装置)机械部分是设备本身(物理装置)(2 2)设备控制器)设备控制器n 电子部分叫做设备控制器或适配器电子部分叫做设备控制器或适配器n 完成设备与主机间的连接和通信完成设备与主机间的连接和通信n 在小型和微型机中,它常采用印刷电路在小型和微型机中,它常采用印刷电路卡插入计算机主板上的总线插槽卡插入计算机主板上的总线插槽n 通过若干
11、接口寄存器或接口缓冲区与通过若干接口寄存器或接口缓冲区与CPUCPU通信通信操作系统设备管理1 设备组成(续设备组成(续2 2)电子部分完成的工作电子部分完成的工作(端口)地址译码(端口)地址译码按照主机与设备之间约定的格式和过程按照主机与设备之间约定的格式和过程l接受计算机发来的数据和控制信号接受计算机发来的数据和控制信号l向主机发送数据和状态信号向主机发送数据和状态信号将计算机的数字信号转换成机械部分能识别将计算机的数字信号转换成机械部分能识别的模拟信号,或反之的模拟信号,或反之实现设备内部硬件缓冲、数据加工等提高性实现设备内部硬件缓冲、数据加工等提高性能或增强功能能或增强功能操作系统设备
12、管理12.2.设备接口设备接口 操作系统将命令写入控制器的接口寄存器(或接口操作系统将命令写入控制器的接口寄存器(或接口缓冲区)中,以实现输入输出,并从接口寄存器缓冲区)中,以实现输入输出,并从接口寄存器读取状态信息或结果信息读取状态信息或结果信息 例如:例如:IBM PCIBM PC的软盘控制器可接收的软盘控制器可接收1515条命令,条命令,READREAD、WRITEWRITE、FORMATFORMAT、SEEKSEEK、RECALIBRATERECALIBRATE,命令可以带,命令可以带参数,它们被一起送入控制器的寄存器中参数,它们被一起送入控制器的寄存器中 当控制器接受一条命令后,可独
13、立于当控制器接受一条命令后,可独立于CPUCPU完成指定完成指定操作,操作,CPUCPU可以转去执行其它运算。命令完成时,可以转去执行其它运算。命令完成时,控制器产生一个中断,控制器产生一个中断,CPUCPU响应中断,控制转给操响应中断,控制转给操作系统。作系统。CPUCPU通过读控制器寄存器中的信息,获得通过读控制器寄存器中的信息,获得操作结果和设备状态操作结果和设备状态操作系统设备管理1 控制器与设备之间的接口常常是一个低级接口。控制器与设备之间的接口常常是一个低级接口。例如磁盘,可以按每个磁道例如磁盘,可以按每个磁道8 8扇区,每个扇区扇区,每个扇区512512个字节进行格式化。然而,实
14、际从驱动器出来的个字节进行格式化。然而,实际从驱动器出来的却是一连串的位流,以一个头标(却是一连串的位流,以一个头标(preamblepreamble)开)开始,然后是一个扇区的始,然后是一个扇区的40964096位(位(5125128 8),最后),最后是检查和或错误校验码(是检查和或错误校验码(ErrorCErrorC一一C C:ECCECC)。)。头标是在对磁盘格式化时写上的,它包括柱面和头标是在对磁盘格式化时写上的,它包括柱面和扇区数,扇区的大小和类似的一些数据扇区数,扇区的大小和类似的一些数据 控制器的任务是把串行的位流转换为字节块,并控制器的任务是把串行的位流转换为字节块,并进行必
15、要的错误修正。首先,控制器按位进行组进行必要的错误修正。首先,控制器按位进行组装,然后存入控制器内部的缓冲区中形成以字节装,然后存入控制器内部的缓冲区中形成以字节为单位的块。在对块验证检查和并证明无错误时,为单位的块。在对块验证检查和并证明无错误时,再将它复制到内存中再将它复制到内存中设备接口(续设备接口(续1 1)操作系统设备管理1接口电路中:多个寄存器接口电路中:多个寄存器每个寄存器有唯一的一个地址,该地址每个寄存器有唯一的一个地址,该地址称为称为I/OI/O端口地址端口地址I/OI/O指令形式与指令形式与I/OI/O地址是相互关联的地址是相互关联的 主要有两种形式:主要有两种形式:n内存
16、映像编址(内存映像内存映像编址(内存映像I/OI/O模式)模式)nI/OI/O独立编址(独立编址(I/OI/O专用指令)专用指令)3.I/O3.I/O端口地址端口地址操作系统设备管理1存储映像编址存储映像编址n分配给系统中所有端口的地址空间与内存的地址空分配给系统中所有端口的地址空间与内存的地址空间统一编址间统一编址n主机把主机把I/O端口看作一个存储单元,对端口看作一个存储单元,对I/O的读写操的读写操作等同于对存储器的操作作等同于对存储器的操作n优点优点n凡是可对存储器操作的指令都可对凡是可对存储器操作的指令都可对I/O端口操作端口操作n不需要专门的不需要专门的I/O指令指令nI/O端口可
17、占有较大的地址空间端口可占有较大的地址空间n缺点:占用内存空间缺点:占用内存空间操作系统设备管理1I/O独立编址独立编址n分配给系统中所有端口的地址空间是完全独立的,分配给系统中所有端口的地址空间是完全独立的,与内存的地址空间没有关系与内存的地址空间没有关系n主机使用专门的主机使用专门的I/O指令对端口进行操作指令对端口进行操作n优点优点n外部设备不占用内存的地址空间外部设备不占用内存的地址空间n程序设计时,易于区分是对内存操作还是对程序设计时,易于区分是对内存操作还是对I/O端口操作端口操作n缺点:缺点:对对I/O端口操作的指令类型少,操作不灵活端口操作的指令类型少,操作不灵活n例子:例子:
18、8086/8088,分配给,分配给I/O端口的地址空间端口的地址空间64K,0000H0FFFFH,只能用,只能用IN和和OUT指令对其进行指令对其进行读写操作读写操作操作系统设备管理1操作系统设备管理11 1、直接、直接I/OI/O(轮询)(轮询)由由CPUCPU负责在机器内存与设备控制器数据寄存负责在机器内存与设备控制器数据寄存器之间进行数据传送器之间进行数据传送2 2、中断驱动、中断驱动I/OI/O 为了减少设备驱动程序不断地询问控制器状态为了减少设备驱动程序不断地询问控制器状态寄存器的开销寄存器的开销 当当I/OI/O操作结束后,由设备控制器主动通知设操作结束后,由设备控制器主动通知设
19、备驱动程序备驱动程序3 3、DMADMA4 4、通道、通道4.I/O4.I/O控制方式控制方式操作系统设备管理1I/OI/O控制方式(续控制方式(续1 1)设备驱动程序设备驱动程序控制寄存器控制寄存器数据寄存器数据寄存器状态寄存器状态寄存器设备控制器设备控制器从设备上读数据从设备上读数据 数据数据应用程序应用程序系统接口系统接口硬件接口硬件接口操作系统设备管理1I/OI/O控制方式(续控制方式(续2 2)设备驱动程序设备驱动程序控制寄存器控制寄存器数据寄存器数据寄存器状态寄存器状态寄存器设备控制器设备控制器从设备上读数据从设备上读数据 数据数据应用程序应用程序设备处理程序设备处理程序中断处理程
20、序中断处理程序设备状态表设备状态表操作系统设备管理1 I IO O软件设计的基本思想软件设计的基本思想分层分层n把软件组织成为一系列的层把软件组织成为一系列的层n较低层软件考虑硬件的特性,并向较高较低层软件考虑硬件的特性,并向较高层软件提供接口层软件提供接口n较高层软件不依赖于硬件,并向用户提较高层软件不依赖于硬件,并向用户提供一个友好的、清晰的、简单的、功能供一个友好的、清晰的、简单的、功能更强的接口更强的接口三、三、I/OI/O软件的组成软件的组成操作系统设备管理11.I1.IO O软件的层次软件的层次操作系统设备管理1I/O软件各层的功能软件各层的功能(1 1)用户进程层执行输入输出系统
21、调用,对)用户进程层执行输入输出系统调用,对I IO O数据进行格式化,为假脱机输入输出数据进行格式化,为假脱机输入输出作准备作准备(2 2)独立于设备的软件实现设备的命名、设)独立于设备的软件实现设备的命名、设备的保护、成块处理、缓冲技术和设备分配备的保护、成块处理、缓冲技术和设备分配(3 3)设备驱动程序设置设备寄存器、检查设)设备驱动程序设置设备寄存器、检查设备的执行状态备的执行状态(4 4)中断处理程序负责)中断处理程序负责I IO O完成时,唤醒设完成时,唤醒设备驱动程序进程,进行中断处理备驱动程序进程,进行中断处理(5 5)硬件层实现物理)硬件层实现物理I IO O的操作的操作操作
22、系统设备管理12.2.设备驱动程序设备驱动程序 与设备密切相关的代码放在设备驱动程序中,与设备密切相关的代码放在设备驱动程序中,每个设备驱动程序处理一种设备类型每个设备驱动程序处理一种设备类型 每一个控制器都设有一个或多个设备寄存器,每一个控制器都设有一个或多个设备寄存器,用来存放向设备发送的命令和参数。设备驱用来存放向设备发送的命令和参数。设备驱动程序负责释放这些命令,并监督它们正确动程序负责释放这些命令,并监督它们正确执行执行操作系统设备管理1设备驱动程序(续设备驱动程序(续1 1)一般,设备驱动程序的任务是接收来自与设一般,设备驱动程序的任务是接收来自与设备无关的上层软件的抽象请求,并执
23、行这个备无关的上层软件的抽象请求,并执行这个请求请求 在设备驱动程序的进程释放一条或多条命令在设备驱动程序的进程释放一条或多条命令后,系统有两种处理方式,多数情况下,执后,系统有两种处理方式,多数情况下,执行设备驱动程序的进程必须等待命令完成,行设备驱动程序的进程必须等待命令完成,这样,在命令开始执行后,它阻塞自已,直这样,在命令开始执行后,它阻塞自已,直到中断处理时将它解除阻塞为止。而在其它到中断处理时将它解除阻塞为止。而在其它情况下,命令执行不必延迟就很快完成情况下,命令执行不必延迟就很快完成 操作系统设备管理13.3.设备独立的软件设备独立的软件 虽然虽然I IO O软件中一部分是设备专
24、用的,但大软件中一部分是设备专用的,但大部分软件是与设备无关的。设备驱动程序与部分软件是与设备无关的。设备驱动程序与设备独立软件之间的确切界限是依赖于具体设备独立软件之间的确切界限是依赖于具体系统的系统的操作系统设备管理1设备独立的软件(续设备独立的软件(续1 1)操作系统设备管理1设备独立的软件(续设备独立的软件(续2 2)1.1.独立于设备的软件的基本任务是实现所有独立于设备的软件的基本任务是实现所有设备都需要的功能,并且向用户级软件提供设备都需要的功能,并且向用户级软件提供一个统一的接口一个统一的接口 2.2.如何给文件和设备这样的对象命名是操作如何给文件和设备这样的对象命名是操作系统中
25、的一个主要课题。独立于设备的软件系统中的一个主要课题。独立于设备的软件负责把设备的符号名映射到正确的设备驱动负责把设备的符号名映射到正确的设备驱动上上 3.3.设备保护设备保护 系统如何防止无权存取设备的用户存取设备系统如何防止无权存取设备的用户存取设备呢?呢?操作系统设备管理1设备独立的软件(续设备独立的软件(续3 3)4.4.不同的磁盘可以采用不同的扇区尺寸。向不同的磁盘可以采用不同的扇区尺寸。向较高层软件掩盖这一事实并提供大小统一的较高层软件掩盖这一事实并提供大小统一的块尺寸,这正是设备独立软件的一个任务。块尺寸,这正是设备独立软件的一个任务。它可将若干扇区合成一个逻辑块。这样,较它可将
26、若干扇区合成一个逻辑块。这样,较高层的软件只与抽象设备打交道,独立于物高层的软件只与抽象设备打交道,独立于物理扇区的尺寸而使用等长的逻辑块理扇区的尺寸而使用等长的逻辑块 5.5.缓冲技术缓冲技术 6.6.设备分配设备分配 7.7.出错处理出错处理 操作系统设备管理14.4.用户空间的用户空间的I IO O软件软件 尽管大部分尽管大部分I IO O软件都包含在操作系统中,软件都包含在操作系统中,但仍有一小部分是由与用户程序连接在一起但仍有一小部分是由与用户程序连接在一起的库过程,甚至完全由运行于核外的程序构的库过程,甚至完全由运行于核外的程序构成。系统调用,包括成。系统调用,包括I IO O系统
27、调用,通常由系统调用,通常由库过程实现库过程实现 这些过程所做的工作只是将系统调用时所用这些过程所做的工作只是将系统调用时所用的参数放在合适的位置,由其它的的参数放在合适的位置,由其它的I IO O过程过程实际实现真正的操作实际实现真正的操作操作系统设备管理1四、设备相关技术四、设备相关技术1.Spooling1.Spooling(虚拟设备)技术(虚拟设备)技术 一个虚拟设备一个虚拟设备 一个资源转换技术一个资源转换技术(用空间,如输入,输出等换取(用空间,如输入,输出等换取CPUCPU时间)时间)解决问题:解决问题:在进程所需物理设备不存在或被占用时使用在进程所需物理设备不存在或被占用时使用
28、该设备该设备操作系统设备管理1假若进程打开打印机特殊文件后几小时内无所事事,假若进程打开打印机特殊文件后几小时内无所事事,其他进程什么都打印不了!其他进程什么都打印不了!解决方案:解决方案:n创建值班(精灵)进程(创建值班(精灵)进程(daemondaemon)、)、SPOOLingSPOOLing目录目录n进程首先生成要打印的文件,放入进程首先生成要打印的文件,放入SPOOLingSPOOLing目录目录n值班进程:唯一获准使用打印机特殊文件的进程值班进程:唯一获准使用打印机特殊文件的进程 用以打印用以打印SPOOLingSPOOLing目录里的文件目录里的文件n通过禁止对特殊文件的直接使用
29、、提高了使用效率通过禁止对特殊文件的直接使用、提高了使用效率打印机的打印机的SPOOLingSPOOLing值班进程值班进程操作系统设备管理1网络的网络的SPOOLingSPOOLing值班进程值班进程SPOOLingSPOOLing技术今天仍被广泛使用技术今天仍被广泛使用n网络文件传送网络文件传送 先把文件送到网络先把文件送到网络SPOOLingSPOOLing目录,然后网络值班进目录,然后网络值班进程把它取出并传递到目标地址程把它取出并传递到目标地址nInternetInternet电子邮件系统电子邮件系统 为了寄邮,调用电子邮件程序为了寄邮,调用电子邮件程序 待发信存在待发信存在SPOO
30、LingSPOOLing中供以后传输中供以后传输n注意:注意:SPOOLingSPOOLing只提高设备利用率,缩短用户程序执只提高设备利用率,缩短用户程序执行时间,并不提高行时间,并不提高CPUCPU利用率利用率操作系统设备管理1(1)定义:通道是独立于定义:通道是独立于CPUCPU的专门负责数据输的专门负责数据输入入/输出传输工作的处理机,对外部设备实现统输出传输工作的处理机,对外部设备实现统一管理,代替一管理,代替CPUCPU对输入对输入/输出操作进行控制,输出操作进行控制,从而使输入,输出操作可与从而使输入,输出操作可与CPUCPU并行操作。并行操作。可以执行通道程序可以执行通道程序(
31、2)引入通道的目的)引入通道的目的 为了使为了使CPU从从I/O事务中解脱出来,同时为了提事务中解脱出来,同时为了提高高CPU与设备,设备与设备之间的并行工作能与设备,设备与设备之间的并行工作能力力2.通道技术通道技术操作系统设备管理1n字节多路通道字节多路通道 字节多路通道以字节为单位传输信息,它可以字节多路通道以字节为单位传输信息,它可以分时地执行多个通道程序。当一个通道程序控分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传转去执行另一个通道程序,控制另一台设备传送信息送信息 主
32、要连接以字节为单位的低速主要连接以字节为单位的低速I/OI/O设备,如打设备,如打印机,终端印机,终端 以字节为单位交叉传输,当一台传送一个字节以字节为单位交叉传输,当一台传送一个字节后,立即转去为另一台传送字节后,立即转去为另一台传送字节(3)分类)分类操作系统设备管理1操作系统设备管理1分类(续分类(续1)n选择通道选择通道 选择通道是以成组方式工作的,即每次传送选择通道是以成组方式工作的,即每次传送一批数据,故传送速度很高。选择通道在一一批数据,故传送速度很高。选择通道在一段时间内只能执行一个通道程序,只允许一段时间内只能执行一个通道程序,只允许一台设备进行数据传输台设备进行数据传输操作
33、系统设备管理1分类(续分类(续2)当这台设备数据传输完成后,再选择与通道当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行相应的通道程序连接的另一台设备,执行相应的通道程序 主要连接磁盘,磁带等高速主要连接磁盘,磁带等高速I/OI/O设备设备选择通道选择通道操作系统设备管理1分类(续分类(续3)n成组多路通道成组多路通道 它结合了选择通道传送速度高和字节多路通道能进它结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点。它先为一台设备执行一条行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通
34、道指令通道指令 主要连接高速设备主要连接高速设备 这样,对于连接多台磁盘机的数组多路通道,它可这样,对于连接多台磁盘机的数组多路通道,它可以启动它们同时执行移臂定位操作,然后,按序交以启动它们同时执行移臂定位操作,然后,按序交叉地传输一批批数据。数据多路通道实际上是对通叉地传输一批批数据。数据多路通道实际上是对通道程序采用多道程序设计的硬件实现道程序采用多道程序设计的硬件实现操作系统设备管理1(4)硬件连接结构)硬件连接结构 操作系统设备管理1 通道:通道:执行通道程序,向控制器发出命令,并执行通道程序,向控制器发出命令,并具有向具有向CPUCPU发中断信号的功能。发中断信号的功能。一旦一旦C
35、PUCPU发出发出指令,启动通道,则通道独立于指令,启动通道,则通道独立于CPUCPU工作。一工作。一个通道可连接多个控制器,一个控制器可连接个通道可连接多个控制器,一个控制器可连接多个设备,形成树形交叉连接多个设备,形成树形交叉连接 主要目的是启动外设时:主要目的是启动外设时:n提高了控制器效率提高了控制器效率n提高可靠性提高可靠性n提高并行度提高并行度通道连接通道连接操作系统设备管理1操作系统设备管理1交叉连接交叉连接操作系统设备管理1(5)通道工作原理通道工作原理 通道相当于一个功能简单的处理机,包含通道相当于一个功能简单的处理机,包含通道指令(空操作,读操作,写操作,通道指令(空操作,
36、读操作,写操作,控制,转移操作),并可执行用这些指控制,转移操作),并可执行用这些指令编写的通道程序令编写的通道程序通道工作原理通道工作原理操作系统设备管理1n通道运算控制部件通道运算控制部件通道地址字通道地址字 CAW:记录通道程序在内存中的地址记录通道程序在内存中的地址通道命令字通道命令字 CCW:保存正在执行的通道指令保存正在执行的通道指令通道状态字通道状态字 CSW:存放通道执行后的返回结果存放通道执行后的返回结果通道数据字通道数据字 CDW:存放传输数据:存放传输数据 通道和通道和CPU共用内存,通过周期窃取方式取得共用内存,通过周期窃取方式取得通道工作原理(续通道工作原理(续1)操
37、作系统设备管理1n通道命令及格式通道命令及格式 用于用于I/OI/O操作的命令主要有两种:操作的命令主要有两种:I/OI/O指令:启动通道程序指令:启动通道程序 通道命令:对通道命令:对I/OI/O操作进行控制操作进行控制 读、反读、写、测试设备状态的数据传读、反读、写、测试设备状态的数据传输命令、用于设备控制的命令(磁带反输命令、用于设备控制的命令(磁带反绕、换页)、实现通道程序内部控制的绕、换页)、实现通道程序内部控制的转移命令转移命令通道工作原理(续通道工作原理(续2)操作系统设备管理1 命令格式一般包括:操作码、数据传输命令格式一般包括:操作码、数据传输内存地址、特征位、计数器内存地址
38、、特征位、计数器 编制一个通道程序,从磁带机上读入编制一个通道程序,从磁带机上读入200200字节的信息,送入内存(字节的信息,送入内存(10001000)16 16 开始开始的单元。的单元。通道命令码:通道命令码:“07”07”反绕反绕 “02”02”读读 CCW1 X“07”CCW1 X“07”*X“40”1 X“40”1;CCW2 X“02”1000 X“00”200CCW2 X“02”1000 X“00”200;通道工作原理(续通道工作原理(续3)操作系统设备管理1n工作原理工作原理 CPUCPU:执行用户程序,当遇到:执行用户程序,当遇到I/OI/O请求时,请求时,可根据该请求生成通
39、道程序放入内存可根据该请求生成通道程序放入内存(也可事先编好放入内存),并将该通(也可事先编好放入内存),并将该通道程序的首地址放入道程序的首地址放入CAWCAW中;之后执行中;之后执行“启动启动I/O”I/O”指令,启动通道工作指令,启动通道工作通道工作原理(续通道工作原理(续4)操作系统设备管理1 通道:接收到通道:接收到“启动启动I/O”I/O”指令后,从指令后,从CAWCAW中取出通道程序的首地址,并根据首地中取出通道程序的首地址,并根据首地址取出第一条指令放入址取出第一条指令放入CCWCCW中,同时向中,同时向CPUCPU发回答信号,使发回答信号,使CPUCPU可继续执行其他可继续执
40、行其他程序,而通道则开始执行通道程序,完程序,而通道则开始执行通道程序,完成传输工作成传输工作通道工作原理(续通道工作原理(续5)操作系统设备管理1(通道程序完成实际(通道程序完成实际I/OI/O,启动,启动I/OI/O设备,设备,执行完毕后执行完毕后,如果还有下一条指令,则继如果还有下一条指令,则继续执行续执行,否则表示传输完成)否则表示传输完成)当通道传输完成最后一条指令时,向当通道传输完成最后一条指令时,向CPU发发I/O中断,并且通道停止工作。中断,并且通道停止工作。CPU接收中断信号,从接收中断信号,从CSW中取得有关中取得有关信息,决定下一步做什么信息,决定下一步做什么通道工作原理
41、(续通道工作原理(续6)操作系统设备管理1通道的发展通道的发展n新的通道思想综合了许多新的技术新的通道思想综合了许多新的技术n在个人计算机中,芯片组中专门在个人计算机中,芯片组中专门I/O处理的芯片,称为处理的芯片,称为IOP(IO Processor),发挥通道的作用),发挥通道的作用nIBM 390 中,沿用了输入输出通道概念中,沿用了输入输出通道概念 IBM于于1998年推出光纤通道技术(称为年推出光纤通道技术(称为FICON),可),可通过通过 FICON 连接多达连接多达127个大容量个大容量I/O设备。传输速度设备。传输速度是是333MHzs,未来将达到,未来将达到1GHzs。光纤
42、通道技术具有数据传输速率高、传输距离远,可简光纤通道技术具有数据传输速率高、传输距离远,可简化大型存储系统设计的优点化大型存储系统设计的优点 在大容量高速存储,如大型数据库、多媒体、数字影在大容量高速存储,如大型数据库、多媒体、数字影像等应用领域,有广泛前景像等应用领域,有广泛前景操作系统设备管理13.DMA技术技术 不用不用DMADMA时,磁盘如何读:时,磁盘如何读:首先,控制器从磁盘驱动器串行地一位一位地读一首先,控制器从磁盘驱动器串行地一位一位地读一个块,直到将整块信息放入控制器的内部缓冲区中个块,直到将整块信息放入控制器的内部缓冲区中 其次,它做和校验计算,以核实没有读错误发生其次,它
43、做和校验计算,以核实没有读错误发生 然后控制器产生一个中断。然后控制器产生一个中断。CPUCPU响应中断,控制转响应中断,控制转给操作系统。当操作系统开始运行时,它重复地从给操作系统。当操作系统开始运行时,它重复地从控制器缓冲区中一次一个字节或一个字地读这个磁控制器缓冲区中一次一个字节或一个字地读这个磁盘块的信息,并将其送入内存中盘块的信息,并将其送入内存中 操作系统设备管理1DMA技术技术n数据在内存与数据在内存与I/OI/O设备间的直接成块传送设备间的直接成块传送nCPUCPU在开始时向设备发在开始时向设备发“传送一块传送一块”命令,结束时命令,结束时进行相应处理,实际操作由进行相应处理,
44、实际操作由DMADMA硬件直接完成硬件直接完成nDMADMA的功能可以以独立的的功能可以以独立的DMADMA部件在系统部件在系统I/OI/O总线上总线上完成,也可整合到完成,也可整合到I/OI/O部件中完成部件中完成nDMADMA通过系统总线代替通过系统总线代替CPUCPU管理数据的存入或取出管理数据的存入或取出n 当当CPUCPU不需要系统总线时可以使用总线不需要系统总线时可以使用总线n DMADMA可以强迫可以强迫CPUCPU暂时延迟其他操作,获取一个暂时延迟其他操作,获取一个总线周期(周期窃取)总线周期(周期窃取)n不需要不需要CPUCPU介入,因而减轻了介入,因而减轻了CPUCPU负担
45、负担操作系统设备管理1控制器按照指定存储器地址,把第一个字节送入内存控制器按照指定存储器地址,把第一个字节送入内存然后,按指定字节数进行数据传送然后,按指定字节数进行数据传送每当传送一个字节后,字节计数器值减每当传送一个字节后,字节计数器值减1 1,直到字节计数器等于,直到字节计数器等于0 0此时,控制器引发中断,通知操作系统,操作完成此时,控制器引发中断,通知操作系统,操作完成CPUCPU提供提供待读取块的磁盘地址待读取块的磁盘地址目标存储地址目标存储地址待读取字节数待读取字节数整块数据读进缓冲区整块数据读进缓冲区核准校验核准校验DMADMA工作示例工作示例(以硬盘为例)(以硬盘为例)操作系
46、统设备管理1(1 1)缓冲技术的引入)缓冲技术的引入 最早引入:最早引入:CPUCPU与与I/OI/O设备之间设备之间 凡是数据到达和离去速度不匹配的地方凡是数据到达和离去速度不匹配的地方均可采用缓冲技术均可采用缓冲技术 目的:目的:n缓解缓解CPUCPU与与I/OI/O设备之间速度不匹配的矛盾设备之间速度不匹配的矛盾n提高提高CPUCPU与与I/OI/O设备之间的并行性设备之间的并行性n减少了减少了I/OI/O设备对设备对CPUCPU的中断请求次数,放宽的中断请求次数,放宽CPUCPU对中断响应时间的要求对中断响应时间的要求4.缓冲技术缓冲技术操作系统设备管理1(2)缓冲区设置)缓冲区设置
47、硬缓冲:硬缓冲:在设备中设置缓冲区,由硬件实现在设备中设置缓冲区,由硬件实现 软缓冲:软缓冲:在内存中开辟一个空间,用作缓冲区在内存中开辟一个空间,用作缓冲区缓冲技术(续缓冲技术(续1)操作系统设备管理1(3)缓冲区管理)缓冲区管理 单缓冲单缓冲 当用户进程发出当用户进程发出I/O请求时,操作系统在请求时,操作系统在内存的系统空间为该操作分配一个缓冲区,可内存的系统空间为该操作分配一个缓冲区,可以实现预读和滞后写以实现预读和滞后写 双缓冲双缓冲 可以实现用户数据区可以实现用户数据区缓冲区之间交换数缓冲区之间交换数据和缓冲区据和缓冲区外设之间交换数据的并行外设之间交换数据的并行 缓冲技术(续缓冲
48、技术(续2)操作系统设备管理1缓冲池:缓冲池:又称循环缓冲又称循环缓冲 多个缓冲区连接起来统一管理多个缓冲区连接起来统一管理 引入系统缓冲池,采用有限缓冲区的生产者引入系统缓冲池,采用有限缓冲区的生产者/消费者模型对缓冲池中的缓冲区进行循环使用消费者模型对缓冲池中的缓冲区进行循环使用 常采用多缓冲管理常采用多缓冲管理 缓冲区结合预读和滞后写技术对具有重复性及阵缓冲区结合预读和滞后写技术对具有重复性及阵发性发性I/O进程、提高进程、提高I/O速度很有帮助速度很有帮助缓冲技术(续缓冲技术(续3)操作系统设备管理1(4)例子)例子 终端输入软件中的键盘驱动程序终端输入软件中的键盘驱动程序 任务之一:
49、收集字符任务之一:收集字符 两种常见的字符缓冲方法:两种常见的字符缓冲方法:n公共缓冲池(驱动程序中)公共缓冲池(驱动程序中)n终端数据结构缓冲终端数据结构缓冲缓冲技术(续缓冲技术(续4)操作系统设备管理1终端终端数据结构数据结构公共公共缓冲池缓冲池终端终端0123终端终端数据结构数据结构终端终端01终端终端0的缓冲区的缓冲区终端终端1的缓冲区的缓冲区公共缓冲池公共缓冲池 终端固定缓冲区终端固定缓冲区缓冲技术(续缓冲技术(续5)操作系统设备管理1缓冲技术(续缓冲技术(续6)(5)UNIX的缓冲技术的缓冲技术n采用缓冲池技术,来平滑和加快文件信息从内存到采用缓冲池技术,来平滑和加快文件信息从内存
50、到磁盘的传输磁盘的传输n并充分利用以前从磁盘读入已传入用户区、但仍在并充分利用以前从磁盘读入已传入用户区、但仍在缓冲区的数据缓冲区的数据 即:当从磁盘上读数据时,如果数据已经在缓冲区即:当从磁盘上读数据时,如果数据已经在缓冲区中,中,则系统直接从缓冲区中读出,而不必从盘上读;则系统直接从缓冲区中读出,而不必从盘上读;当数据不在缓冲区时,系统首先把数据从磁盘传送当数据不在缓冲区时,系统首先把数据从磁盘传送到缓冲区,再从缓冲区读出到缓冲区,再从缓冲区读出 好处:尽可能减少磁盘好处:尽可能减少磁盘I/OI/O的次数,提高系统运行的次数,提高系统运行的速度的速度操作系统设备管理1缓冲技术(续缓冲技术(
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。