操作系统原理第6章_第1页
操作系统原理第6章_第2页
操作系统原理第6章_第3页
操作系统原理第6章_第4页
操作系统原理第6章_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、1第6章 设备管理2内容提要本章主要讲述以下内容:(1)设备管理的目标与功能;(2)I/O设备的控制方式、分配及去配;(3)I/O设备的驱动程序和缓冲技术;(4)磁盘的存储管理。3学习目标了解设备管理的目标、设备的分类及I/O设备的驱动程序;理解缓冲技术和SPOOLing技术;掌握设备管理功能,设备分配技术,I/O设备的控制方式和磁盘存储管理。4第6章 设备管理6.1 设备管理概述6.2 I/O控制方式6.3 I/O设备分配6.4 I/O设备驱动程序6.5 缓冲技术6.6 磁盘存储器的管理6.7 典型例题讲解56.1 设备管理概述6.1.1 设备管理的目标6.1.2 设备管理的主要功能6.1.

2、3 I/O系统66.1.1 设备管理的目标 由于设备的种类繁多,而其物理特性和使用方式各不相同。所以,设备管理这一部分在整个操作系统中占很大比重。设备管理要达到的目标主要是: (1)使用方便 (2)与设备无关 (3)效率高 (4)管理统一6.1.2 设备管理的主要功能 为了实现上述目标,操作系统的设备管理要有以下功能:(1)设备分配 (2)设备处理 (3)缓冲管理76.1.3 I/O系统 1.I/O设备分类 (1)从资源分配角度分类: 独占设备 共享设备 虚拟设备(2)按设备的使用特性分类 存储设备 I/O设备 (3)按信息交换方式分类 块设备 字符设备 2.设备控制器 设备控制器主要完成以下

3、功能: 接收和识别命令数据交换 地址识别 标识和报告设备的状态 数据缓冲 差错控制 3.通道 实际上,I/O通道是一种特殊的处理机,具有执行I/O指令的能力,并通过执行通道程序来完成对I/O的操作。 根据信息交换的方式,通道可分成三种类型(1)字节多路通道 (2)数组选择通道(3)数组多路通道6.2 I/O控制方式 6.2.1 程序I/O方式6.2.2 中断驱动I/O控制方式 6.2.3 直接存储器访问I/O控制方式6.2.4 I/O通道控制方式 6.2.1 程序I/O方式 当主机需要输出数据时,主机与控制器之间交互过程如下:主机不断的读取忙位,直到该位被清零。主机设置命令寄存器中的写位并向数

4、据输出寄存器中写入一个字节。主机设置命令就绪位。当控制器检测到命令就绪位已被设置,则设置忙位。控制器读取命令寄存器,并执行写入命令。它从数据输出寄存器中读取一个字节,并执行I/O操作。控制器清除命令就绪位,清除状态寄存器的故障位以表示设备I/O操作成功,清除忙位以表示完成。 输出每个字节,都要执行以上循环。6.2.2 中断驱动I/O控制方式 基本中断机制如下:CPU硬件有一条中断请求线,CPU在执行完每条指令后,都将判断IRL。当CPU检测到已经有控制器通过中断请求线发送了信号,CPU将保留少量状态,如当前指令位置,并且跳转到内存特定位置的中断处理程序。中断处理程序判断中断原因,进行必要的处理

5、,最后执行中断返回指令以便使CPU返回中断以前的执行状态。 图6-3中断驱动I/O方式流程图 6.2.3 直接存储器访问I/O控制方式 许多计算机为了避免增加CPU的负担,将一部分任务下放给被称为直接存储器访问(Direct Memory Access,DMA)的控制器。在开始DMA传输时,主机向内存中写入DMA命令块。该块包括传输的源地址指针、传输的目的地指针、传输的字节数。CPU在将该命令块的地址写入到DMA控制器中后,就继续其他工作。DMA控制器则去直接操作内存总线,无需CPU的帮助即可以将地址放到总线上开始传输。一个简单的DMA控制器已经是个人计算机的标准部件。 图6-4 DMA传输过

6、程 6.2.4 I/O通道控制方式 通道是专门负责输入输出操作的处理器,除了具有DMA数据块传输功能之外,通道还具有更强大的输入输出传输功能。与DMA的相同点有:以内存为中心,支持块传输。不同点:通道是专门的处理器,有自己的指令系统,可以实施复杂的输入输出控制。IBM服务器等高性能计算机系统提供通道输入输出方式。 6.3 I/O设备分配6.3.1 设备分配时应考虑的因素6.3.2 设备分配中的数据结构 6.3.3 设备的分配与去配 6.3.4 SPOOLing技术 6.3.1 设备分配时应考虑的因素 1.设备的固有属性(1)独占设备(2)共享设备(3)可虚拟设备2.设备分配算法(1)先来先服务

7、 (2)优先级高者优先 3.设备分配中的安全性(1)安全分配方式 (2)不安全分配方式 6.3.2 设备分配中的数据结构 1.设备控制表2.系统设备表3.控制器控制表4.通道控制表 6.3.3 设备的分配与去配 1.独占型设备的分配与去配 进程申请设备资源时,应当指定所需设备类别,而不是指定某一具体的设备编号。系统根据当前请求情况以及资源分配情况在相应类别的设备中选择一个空闲设备并将其分配给申请者,这称为设备无关性。这种分配方案具有以下两个优点:提高设备资源利用率,假设申请者指定具体设备,被指定的设备可能正在被占用,因而无法得到,造成资源浪费和进程的不必要等待;程序与设备无关,假设申请者指定具

8、体的设备,而被指定设备已损坏或不联机,则需修改程序。 2.共享型设备的分配与去配 共享设备使用的具体方法如下:申请设备及通路。如果设备被占用,进入设备等待队列,否则分配设备;如有可用通路则分配,否则进入通路等待队列。通路的分配算法与独占型设备相同;I/O传输。启动设备,经由选定的通路传输一块数据;去配设备及通路。当设备发出中断信号时,唤醒一个等待设备的进程;当通道或控制器发出中断信号时,唤醒所有相关的等待通路进程。6.3.4 SPOOLing技术 SPOOLing 系统的组成 (1)输入井和输出井 (2)预输入程序和缓输出程序 (3)井管理程序 (4)用户对信息管理的交互接口 6.4 I/O设

9、备驱动程序 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)将抽象要求转换为具体要求

10、(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.按照缓冲区存在的位置 按照缓冲区存在的位置可以把缓冲分为硬件缓冲和软件缓冲。所谓硬件缓冲是指设备本身配有少量必要的硬件缓冲器,而软件缓冲则是指在内存中划出一个特

11、定区域来充当缓冲区,使用时,由输入指针和输出指针来控制对信息的写入和读取。2.按照缓冲区的个数以及缓冲区的组织形式 单缓冲。单缓冲是在设备和CPU之间设置一个缓冲区。 双缓冲。为了加快输入和输出速度,提高并行性和设备的利用率,引入了双缓冲机制。 循环缓冲。当输入与输出的速度基本匹配时,采用双缓冲能获得较好的效果,可使输入和输出基本上能并行操作。 缓冲池。无论是单缓冲、双缓冲还是循环缓冲都仅适用于某特定的I/O进程和计算进程,因而它们属于专用缓冲。 6.5.3 缓冲池 1.缓冲池的组成 空缓冲队列emq输入队列inq输出队列outq在缓冲池中,有四种工作缓冲区,即:用于收容设备输入数据的收容输入

12、缓冲区hin用于提取设备输入数据的提取输入缓冲区sin用于收容CPU输出数据的收容输出缓冲区hout用于提取CPU输出数据的提取输出缓冲区sout图6-6 缓冲池的工作缓冲区 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),各磁道之间留有必要的间隙。为使处理简单起见,在每条磁道上可存储相同数目的二进制位。

13、这样,磁盘密度即每英寸中所存储的位数,显然是内层磁道的密度较外层磁道的密度高。每条磁道又被逻辑上划分成若干个扇区(sectors),软盘大约为832个扇区,硬盘则可多达数百个,图6-7(b)显示了一个磁道分成8个扇区。一个扇区称为一个盘块(数据块),常常叫做磁盘扇区。各扇区之间保留一定的间隙。 2磁盘的类型 (1)固定头磁盘 这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有磁道,进行并行读/写,有效地提高了磁盘的I/O速度。这种结构的磁盘主要用于大容量磁盘上。(2)移动头磁盘 每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁

14、头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其 I/O 速度较慢;但由于其结构简单,故仍广泛应用于中小型磁盘设备中。在微型机上配置的温盘和软盘都采用移动磁头结构,故本节主要针对这类磁盘的I/O进行讨论。 3磁盘访问时间 (1)寻道时间Ts (2)旋转延迟时间Tr (3)传输时间Tt 6.6.2 磁盘调度 1先来先服务 (First Come First Served,FCFS) 2最短寻道时间优先 (Shortest Seek Time First,SSTF) 3扫描(SCAN)算法 4循环扫描(CSCAN)算法 6.6.3 磁盘高速缓存 1磁盘高速缓存的形式2数据交付方式

15、 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帧 DDMA解析:DMA方式主要用于块设备,磁盘是典型的块设备。故本题答案是D。【例6.2】通道又称I/O处理机,它用于实现_之间的信息传输。A内存与外设 BCPU与外设C内存与外存DCPU与外存解析:在设置了通道后,CPU只需向通道发送一条I/O指令。通道在收到该指令后,便从内存中取出本次要执行的通道程序,然后执行该通道程序,仅当通道完

16、成了规定的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中断频率。在中端方式中,每当输入数据缓冲寄存器中装满输入数据或将输出数据缓冲寄存器中的数据输出之后,设备控制器便发生一次中断。由于设备控制器中配置的数据缓冲寄

温馨提示

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

评论

0/150

提交评论