您好,欢迎访问三七文档
第7章输入/输出管理7.1I/O管理概述7.2设备分配7.3I/O软件层次7.4磁盘调度和管理7.1I/O管理概述7.1.1I/O设备分类和标识1.设备分类•可以从不同角度对外部设备进行分类,按照工作特性可把它们分成存储设备和输入/输出设备两大类。(1)存储设备•它们是计算机用来存储信息的主要设备。(2)输入/输出设备•还可以从其他角度对设备进行分类。例如:按传输速率的快慢;•按设备的共享属性分类,分为独占设备、共享设备和虚拟设备;7.1.1I/O设备分类和标识2.设备标识•系统按某种原则为每台设备分配惟一的号码,用做硬件(设备控制器)区分和识别设备的代号,称做设备绝对号(或绝对地址)。•操作系统为每类设备规定了一个编号,称做设备类型号。如在UNIX系统中,设备类型号称做主设备号。•设备相对号,是用户自己规定的所用同类设备中的第几台。7.1.2I/O系统结构不同规模的计算机系统,其I/O系统结构存在差异。在大多数微型机和小型机中,都使用总线I/O系统结构,图7-1典型的PC总线结构7.1.3设备控制器•I/O设备一般由机械和电子两部分组成。•电子部分称做设备控制器或适配器•操作系统总是通过设备控制器实施对设备的控制和操作。控制器是可编址的设备。1.控制器接口•设备控制器有两个方向的接口:一个是与主机之间的系统接口;•另一个是与设备驱动电路之间的低层次接口。7.1.3设备控制器2.控制器功能①实现主机和设备之间的通信控制,进行端口地址译码。②把计算机的数字信号转换成机械部分能够识别的模拟信号,或者反过来。③实现数据的缓冲。④接收主机发来的控制命令。⑤将设备和控制器当前所处的状态提供给主机。7.1.3设备控制器3.存储器映像I/O•为了实现与CPU通信,每个控制器都有几个寄存器。•控制寄存器•状态寄存器•数据寄存器•除控制寄存器外,很多设备还有数据缓冲区。7.1.3设备控制器•CPU与控制寄存器和设备数据缓冲区的通信方式有两种。•一种方式是为每个控制寄存器分配一个I/O端口号(8位或16位整数),使用专门的I/O指令,CPU可以读/写控制寄存器。•另一种方式是把所有控制寄存器映像到存储器空间。•这种模式称做存储器映像I/O(Memory-MappedI/O)。•此外,还有混合方式,既有存储器映像I/O数据缓冲器,又采用单独的I/O端口。7.1.3设备控制器图7-2内存和I/O的地址空间7.1.4I/O系统的控制方式1.程序控制直接传递方式2.程序查询方式3.中断控制方式•其基本工作过程是:①CPU执行设备驱动程序,发出启动I/O设备的指令,使外设处于准备工作状态。然后,CPU继续运行程序,进行其他信息的处理。②I/O控制器按照I/O指令的要求,启动并控制I/O设备的工作。7.1.4I/O系统的控制方式③当输入就绪、输出完成或发生错误时,I/O控制器便向CPU发送一个中断信号。④CPU接收到中断信号后,保存少量的状态信息。然后将控制传送给中断处理程序。⑤中断处理程序确定中断原因,执行相应的处理工作,最后退出中断,返回中断前的执行状态。⑥CPU恢复对被中断任务的处理工作。4.直接存储器访问方式(1)DMA控制方式的引入(2)DMA的传送操作7.1.4I/O系统的控制方式图7-3DMA传送操作5.独立通道方式(1)通道的引入•为使CPU摆脱繁忙的I/O事务,现代大、中型计算机都设置了专门处理I/O操作的机构,这就是通道。•通道程序由通道执行的指令组成。(2)通道类型①字节多路通道。它以字节作为信息输送单位,服务于多台低速I/O设备。②选择通道。它在同一时间里只能为一台设备服务。•主要用于连接高速外部设备③成组多路通道。它结合字节多路通道分时操作和选择通道高速传送的优点,广泛用于连接高速和中速设备。6.I/O处理器方式7.1.5I/O管理的功能1.I/O软件的主要目标(1)与设备无关•也称设备独立性。就是说,用户程序应与实际使用的物理设备无关,由操作系统考虑因为实际设备不同而需要使用不同的设备驱动程序等问题。(2)统一命名(3)层次结构(4)效率高7.1.5I/O管理的功能2.I/O管理的主要功能(1)监视设备状态(2)进行设备分配(3)完成I/O操作(4)缓冲管理与地址转换7.2设备分配7.2.1与设备分配相关的因素(1)I/O设备的固有属性(2)系统所采用的分配算法(3)设备分配应防止死锁发生(4)用户程序与实际使用的物理设备无关7.2.2设备分配技术1.按使用性质对设备分类(1)独占设备•独占设备是不能同时共用的设备,即在一段时间内,该设备只允许一个进程独占。(2)共享设备•共享设备是可由若干进程同时共用的设备。(3)虚拟设备•虚拟设备是利用某种技术把独占设备改造成可由多个进程共用的设备。7.2.2设备分配技术2.设备分配技术(1)独占分配•独占分配技术是把独占设备固定地分配给一个进程,直至该进程完成I/O操作并且释放它为止。(2)共享分配(3)虚拟分配•虚拟分配技术利用共享设备去实现独占设备的功能,从而使独占设备“感觉上”成为可共享的、快速的I/O设备。7.2.3设备分配算法(1)先来先服务(2)优先级高的优先服务7.2.4SPOOLing系统常驻内存的进程去模拟一台外围机图7-5SPOOLing系统①存输入部分②取输入部分③存输出部分④取输出部分7.2.4SPOOLing系统•上述4个部分的工作可由输入进程IN和输出进程OUT完成。I•SPOOLing可使一个作业的输入/输出与其他作业的计算重叠起来进行。•SPOOLing提供了非常重要的数据结构——作业池。•付出不少代价①占用大量的内存作为外设之间传送信息用的缓冲区,它所用的表格也占用不少内存空间;②占用大量磁盘空间作为输入井和输出井;③增加了系统的复杂性。7.3I/O软件层次图7-6I/O软件系统的层次7.3.1中断处理程序7.3.2设备驱动程序1.设备驱动程序的功能①接受来自上层、与设备无关软件的抽象读写请求,并且将该I/O请求排在请求队列的队尾,同时还要检查I/O请求的合法性(如参数是否合法)。②取出请求队列中队首请求,且将相应设备分配给它。③向该设备控制器发送命令,启动该设备工作,完成指定的I/O操作。④处理来自设备的中断。7.3.2设备驱动程序2.设备驱动程序在系统中的位置通常,设备驱动程序与设备类型是一一对应的。主设备号表示设备类型,而次设备号表示该类型的一个设备。图7-7设备驱动程序在系统中的逻辑位置7.3.3与设备无关的操作系统I/O软件图7-8与设备无关的操作系统I/O软件的功能7.4磁盘调度和管理7.4.1磁盘硬件1.磁盘的结构图7-10硬盘结构示意图7.4.1磁盘硬件(1)Header(磁头)•硬盘盘片数=(磁头数+2)/2(2)Cylinder(柱面)(3)Sector(扇区)•扇区是将磁道按照相同角度等分的扇形。2.独立磁盘冗余阵列•廉价磁盘冗余阵列RAID(RedundantArraysofInexpensiveDesks)。7.4.2磁盘调度1.磁盘存取时间•减少平均寻道时间就可以显著地改善系统性能。2.磁盘调度算法(1)先来先服务法(FCFS)•要访问的磁道分别是:98,183,37,122,14,124,65,67•最早来的请求是访问98道,最后一个是访问67道。设磁头最初在53道上。7.4.2磁盘调度(2)最短寻道时间优先法(SSTF)图7-13最短寻道时间优先调度7.4.2磁盘调度(3)扫描法(SCAN)图7-14扫描调度算法示例7.4.2磁盘调度(4)巡回扫描法(C-SCAN)图7-15巡回扫描调度算法示例7.4.2磁盘调度(5)寻查法(LOOK)LOOK算法也称“电梯”算法图7-16循环寻查调度算法示例7.4.2磁盘调度3.磁盘调度算法的选择①任何调度算法的性能都依赖于I/O请求的数量和类型。②文件的物理存放方式对磁盘请求有很大影响。③目录和索引块的位置对I/O请求队列有重要影响。④旋转延迟时间的影响。7.4.3磁盘管理1.磁盘格式化•低级格式化或物理格式化•低级格式化按照规定的格式为每个扇区填充控制信息。•扇区头、数据区(通常为512B)和扇区尾(2)磁盘分区和逻辑格式化•第一步是分区,即把磁盘分成一个或多个柱面组。•第二步工作是逻辑格式化7.4.3磁盘管理2.引导块结构图7-17MS-DOS的磁盘布局7.4.3磁盘管理3.坏块处理(1)坏块的产生•一类是“天生”的•另一类是“继发”的(2)处理坏块的方式①控制器处理方式。•直接替代方式•绕过坏块方式②操作系统处理方式。(3)后备问题(4)其他磁盘故障
本文标题:27输入输出管理
链接地址:https://www.777doc.com/doc-3898698 .html