您好,欢迎访问三七文档
1第6章设备管理2内容提要本章主要讲述以下内容:(1)设备管理的目标与功能;(2)I/O设备的控制方式、分配及去配;(3)I/O设备的驱动程序和缓冲技术;(4)磁盘的存储管理。3学习目标1.了解设备管理的目标、设备的分类及I/O设备的驱动程序;2.理解缓冲技术和SPOOLing技术;3.掌握设备管理功能,设备分配技术,I/O设备的控制方式和磁盘存储管理。4第6章设备管理6.1设备管理概述6.2I/O控制方式6.3I/O设备分配6.4I/O设备驱动程序6.5缓冲技术6.6磁盘存储器的管理6.7典型例题讲解56.1设备管理概述6.1.1设备管理的目标6.1.2设备管理的主要功能6.1.3I/O系统66.1.1设备管理的目标由于设备的种类繁多,而其物理特性和使用方式各不相同。所以,设备管理这一部分在整个操作系统中占很大比重。设备管理要达到的目标主要是:(1)使用方便(2)与设备无关(3)效率高(4)管理统一6.1.2设备管理的主要功能为了实现上述目标,操作系统的设备管理要有以下功能:(1)设备分配(2)设备处理(3)缓冲管理76.1.3I/O系统1.I/O设备分类(1)从资源分配角度分类:独占设备共享设备虚拟设备(2)按设备的使用特性分类存储设备I/O设备(3)按信息交换方式分类块设备字符设备2.设备控制器设备控制器主要完成以下功能:①接收和识别命令②数据交换③地址识别④标识和报告设备的状态⑤数据缓冲⑥差错控制3.通道实际上,I/O通道是一种特殊的处理机,具有执行I/O指令的能力,并通过执行通道程序来完成对I/O的操作。根据信息交换的方式,通道可分成三种类型(1)字节多路通道(2)数组选择通道(3)数组多路通道6.2I/O控制方式6.2.1程序I/O方式6.2.2中断驱动I/O控制方式6.2.3直接存储器访问I/O控制方式6.2.4I/O通道控制方式6.2.1程序I/O方式当主机需要输出数据时,主机与控制器之间交互过程如下:①主机不断的读取忙位,直到该位被清零。②主机设置命令寄存器中的写位并向数据输出寄存器中写入一个字节。③主机设置命令就绪位。④当控制器检测到命令就绪位已被设置,则设置忙位。⑤控制器读取命令寄存器,并执行写入命令。它从数据输出寄存器中读取一个字节,并执行I/O操作。⑥控制器清除命令就绪位,清除状态寄存器的故障位以表示设备I/O操作成功,清除忙位以表示完成。输出每个字节,都要执行以上循环。6.2.2中断驱动I/O控制方式基本中断机制如下:CPU硬件有一条中断请求线,CPU在执行完每条指令后,都将判断IRL。当CPU检测到已经有控制器通过中断请求线发送了信号,CPU将保留少量状态,如当前指令位置,并且跳转到内存特定位置的中断处理程序。中断处理程序判断中断原因,进行必要的处理,最后执行中断返回指令以便使CPU返回中断以前的执行状态。设备驱动程序初始化I/OCPU接收到中断,将控制权交给中断处理程序初始化I/OCPU检查中断中断处理程序处理数据,从中断返回CPU继续处理被中断的任务输入准备就绪,输出完毕或出错,产生中断信号CPU123456图6-3中断驱动I/O方式流程图6.2.3直接存储器访问I/O控制方式许多计算机为了避免增加CPU的负担,将一部分任务下放给被称为直接存储器访问(DirectMemoryAccess,DMA)的控制器。在开始DMA传输时,主机向内存中写入DMA命令块。该块包括传输的源地址指针、传输的目的地指针、传输的字节数。CPU在将该命令块的地址写入到DMA控制器中后,就继续其他工作。DMA控制器则去直接操作内存总线,无需CPU的帮助即可以将地址放到总线上开始传输。一个简单的DMA控制器已经是个人计算机的标准部件。CPU高速缓存内存X缓存区DMA/总线/中断控制器磁盘控制器和磁盘内存总线PCI总线图6-4DMA传输过程6.2.4I/O通道控制方式通道是专门负责输入输出操作的处理器,除了具有DMA数据块传输功能之外,通道还具有更强大的输入输出传输功能。与DMA的相同点有:以内存为中心,支持块传输。不同点:通道是专门的处理器,有自己的指令系统,可以实施复杂的输入输出控制。IBM服务器等高性能计算机系统提供通道输入输出方式。6.3I/O设备分配6.3.1设备分配时应考虑的因素6.3.2设备分配中的数据结构6.3.3设备的分配与去配6.3.4SPOOLing技术6.3.1设备分配时应考虑的因素1.设备的固有属性(1)独占设备(2)共享设备(3)可虚拟设备2.设备分配算法(1)先来先服务(2)优先级高者优先3.设备分配中的安全性(1)安全分配方式(2)不安全分配方式6.3.2设备分配中的数据结构1.设备控制表2.系统设备表3.控制器控制表4.通道控制表6.3.3设备的分配与去配1.独占型设备的分配与去配进程申请设备资源时,应当指定所需设备类别,而不是指定某一具体的设备编号。系统根据当前请求情况以及资源分配情况在相应类别的设备中选择一个空闲设备并将其分配给申请者,这称为设备无关性。这种分配方案具有以下两个优点:提高设备资源利用率,假设申请者指定具体设备,被指定的设备可能正在被占用,因而无法得到,造成资源浪费和进程的不必要等待;程序与设备无关,假设申请者指定具体的设备,而被指定设备已损坏或不联机,则需修改程序。2.共享型设备的分配与去配共享设备使用的具体方法如下:①申请设备及通路。如果设备被占用,进入设备等待队列,否则分配设备;如有可用通路则分配,否则进入通路等待队列。通路的分配算法与独占型设备相同;②I/O传输。启动设备,经由选定的通路传输一块数据;③去配设备及通路。当设备发出中断信号时,唤醒一个等待设备的进程;当通道或控制器发出中断信号时,唤醒所有相关的等待通路进程。6.3.4SPOOLing技术SPOOLing系统的组成(1)输入井和输出井(2)预输入程序和缓输出程序(3)井管理程序(4)用户对信息管理的交互接口6.4I/O设备驱动程序6.4.1设备驱动程序的特点6.4.2设备驱动程序的处理过程6.4.1设备驱动程序的特点设备驱动程序与一般的应用程序及系统程序之间存在下列明显差异:①驱动程序主要是在请求I/O的进程与设备控制器之间的一个通信程序,将进程的I/O请求传送给控制器,再把设备控制器中所记录的设备状态、I/O操作完成情况反映给请求I/O的进程。②驱动程序与I/O设备的特性紧密相关。③驱动程序与I/O控制方式紧密相关。④由于驱动程序与硬件紧密相关,因而其中的一部分程序必须用汇编语言书写。目前有很多驱动程序,其基本部分已经固化,放在ROM中。6.4.2设备驱动程序的处理过程(1)将抽象要求转换为具体要求(2)检查I/O请求的合法性(3)读出和检查设备的状态(4)传送必要的参数(5)工作方式的设置(6)启动I/O设备6.5缓冲技术6.5.1缓冲技术的引入6.5.2缓冲的类型6.5.3缓冲池6.5.1缓冲技术的引入在操作系统中,引入缓冲的主要原因可归结为以下几点:①缓和CPU与I/O设备间速度不匹配的矛盾。②减少对CPU的中断频率,放宽对中断响应时间的限制。③提高CPU和I/O设备的并行性。6.5.2缓冲的类型1.按照缓冲区存在的位置按照缓冲区存在的位置可以把缓冲分为硬件缓冲和软件缓冲。所谓硬件缓冲是指设备本身配有少量必要的硬件缓冲器,而软件缓冲则是指在内存中划出一个特定区域来充当缓冲区,使用时,由输入指针和输出指针来控制对信息的写入和读取。2.按照缓冲区的个数以及缓冲区的组织形式①单缓冲。单缓冲是在设备和CPU之间设置一个缓冲区。②双缓冲。为了加快输入和输出速度,提高并行性和设备的利用率,引入了双缓冲机制。③循环缓冲。当输入与输出的速度基本匹配时,采用双缓冲能获得较好的效果,可使输入和输出基本上能并行操作。④缓冲池。无论是单缓冲、双缓冲还是循环缓冲都仅适用于某特定的I/O进程和计算进程,因而它们属于专用缓冲。6.5.3缓冲池1.缓冲池的组成①空缓冲队列emq②输入队列inq③输出队列outq在缓冲池中,有四种工作缓冲区,即:①用于收容设备输入数据的收容输入缓冲区hin②用于提取设备输入数据的提取输入缓冲区sin③用于收容CPU输出数据的收容输出缓冲区hout④用于提取CPU输出数据的提取输出缓冲区sout图6-6缓冲池的工作缓冲区hinsinsouthout用户程序收容输入提取输入收容输出提取输出缓冲池6.6磁盘存储器的管理6.6.1磁盘概述6.6.2磁盘调度6.6.3磁盘高速缓存6.6.4提高磁盘I/O速度的其它方法6.6.1磁盘概述1.数据的组织和格式磁盘设备可包括一个或多个物理盘片,每个磁盘片分一个或两个存储面(surface)(见图6-7(a)),每个磁盘面被组织成若干个同心环,这种环称为磁道(track),各磁道之间留有必要的间隙。为使处理简单起见,在每条磁道上可存储相同数目的二进制位。这样,磁盘密度即每英寸中所存储的位数,显然是内层磁道的密度较外层磁道的密度高。每条磁道又被逻辑上划分成若干个扇区(sectors),软盘大约为8~32个扇区,硬盘则可多达数百个,图6-7(b)显示了一个磁道分成8个扇区。一个扇区称为一个盘块(数据块),常常叫做磁盘扇区。各扇区之间保留一定的间隙。2.磁盘的类型(1)固定头磁盘这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有磁道,进行并行读/写,有效地提高了磁盘的I/O速度。这种结构的磁盘主要用于大容量磁盘上。(2)移动头磁盘每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单,故仍广泛应用于中小型磁盘设备中。在微型机上配置的温盘和软盘都采用移动磁头结构,故本节主要针对这类磁盘的I/O进行讨论。3.磁盘访问时间(1)寻道时间Ts(2)旋转延迟时间Tr(3)传输时间Tt6.6.2磁盘调度1.先来先服务(FirstComeFirstServed,FCFS)2.最短寻道时间优先(ShortestSeekTimeFirst,SSTF)3.扫描(SCAN)算法4.循环扫描(CSCAN)算法6.6.3磁盘高速缓存1.磁盘高速缓存的形式2.数据交付方式3.置换算法4.周期性地写回磁盘6.6.4提高磁盘I/O速度的其它方法1.提前读(Read-ahead)2.延迟写3.优化物理块的分布4.虚拟盘6.7典型例题讲解6.7.1单项选择题【例6.1】磁盘设备的I/O控制主要是采取_______方式。A.位B.字节C.帧D.DMA解析:DMA方式主要用于块设备,磁盘是典型的块设备。故本题答案是D。【例6.2】通道又称I/O处理机,它用于实现_______之间的信息传输。A.内存与外设B.CPU与外设C.内存与外存D.CPU与外存解析:在设置了通道后,CPU只需向通道发送一条I/O指令。通道在收到该指令后,便从内存中取出本次要执行的通道程序,然后执行该通道程序,仅当通道完成了规定的I/O任务后,才向CPU发出中断信号。因此通道用于完成内存与外设的信息交换。故本题答案是A。【例6.5】I/O端口、总线、设备控制器、设备这四种硬件中,用户程序可以访问的有____和____。解析:本题考查计算机系统中硬件设备的相关概念。用户程序要使用某个设备,向某个I/O控制器发出I/O指令,即向指定的I/O端口写入指令;I/O控制器又称设备控制器,因此,对I/O端口的访问即是对设备控制器的访问。故本题答案是I/O端口和设备控制器。【例6.6】I/O设备处理进程平时处于____状态中,当___和_____出现时,被唤醒。解析:本题考查I/O设备处理进程负责设备的分配。I/O设备处理进程平时处于睡眠状态,当用户发送I/O请求或I/O操作完成时,外设发出中断请求时才被唤醒。故本题答案是睡眠、I/O请求和I/O操作完成。42【例6.8】请说明中断驱动I/O方式和DMA方式有什么不同。解析:它们的不同之处主要有:①I/O中断频率。在中端方式中,每
本文标题:操作系统原理第6章
链接地址:https://www.777doc.com/doc-2381113 .html