OperatingSystem设备管理.ppt

上传人:re****.1 文档编号:570728646 上传时间:2024-08-06 格式:PPT 页数:39 大小:446.55KB
返回 下载 相关 举报
OperatingSystem设备管理.ppt_第1页
第1页 / 共39页
OperatingSystem设备管理.ppt_第2页
第2页 / 共39页
OperatingSystem设备管理.ppt_第3页
第3页 / 共39页
OperatingSystem设备管理.ppt_第4页
第4页 / 共39页
OperatingSystem设备管理.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《OperatingSystem设备管理.ppt》由会员分享,可在线阅读,更多相关《OperatingSystem设备管理.ppt(39页珍藏版)》请在金锄头文库上搜索。

1、第八章 外部设备管理8.1 引言8.2 缓冲技术8.3 设备分配8.4 设备控制8.5 磁盘设备管理外设的特点:种类多差异大(控制和速度)外设管理目的包括:外设资源的控制外设资源的共享提高外设资源的利用率。8.1 引言8.1.1 外部设备类型和特征8.1.2 设备的I/O控制技术8.1.3 外设管理的目的和功能8.1.4 外设管理结构返回8.1.1 外部设备类型和特征人机交互设备:视频显示设备、键盘、鼠标、打印机与计算机或其他电子设备交互的设备:磁盘、磁带、传感器、控制器计算机间的通信设备:网卡、调制解调器返回1. 按交互对象分类输入(可读):键盘、扫描仪输出(可写):显示设备、打印机输入/输

2、出(可读写):磁盘、网卡2. 按交互方向分类3. 按外设特性分类使用特征:存储、输入/输出、终端数据传输率:低速(如键盘)、中速(如打印机)、高速(如网卡、磁盘)信息组织特征:单个字符或数据块字符设备(如打印机)块设备(如磁盘) 4. 按外设分配方式分类独占设备:任何时刻只能被一个用户使用,如终端、绘图仪、打印机等。共享设备:可以同时(或宏观同时)被多个用户使用。一般容量大、数度快,如硬盘。8.1.2 设备的I/O控制技术返回1. 程序控制I/O(programmed I/O)也称循环测试方式。I/O操作由程序发起,并等待操作完成,其中程序直接从设备控制器中的数据缓冲寄存器中存取数据。数据的每

3、次读写通过CPU。缺点:在外设进行数据处理时,CPU只能等待。2. 中断驱动方式(interrupt-driven I/O)I/O操作由程序发起,在操作完成时(如数据可读或已经写入,在此之前,该程序可进入等待状态或继续执行)由外设向CPU发出中断,通知该程序。数据的每次读写通过CPU。优点:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序。缺点:CPU每次处理的数据量少(通常不超过几个字节:从设备控制器中的数据缓冲寄存器中存取数据),只适于数据传输率较低的设备。另外, I/O操作频繁,有可能丢失中断信号。3. 直接存储访问方式(DMA, Direct Memory Acces

4、s)由程序设置DMA控制器中的若干寄存器值(如内存始址,传送字节数),然后发起I/O操作,而由后者完成内存与外设的成批数据交换,在操作完成时由DMA控制器向CPU发出中断。优点:CPU只需干预I/O操作的开始和结束,而其中的数据读写无需CPU控制, CPU与DMA控制器并行工作。适于高速设备。缺点:功能比较简单,不能完成较复杂的要求。DMA方式下的I/O控制器结构中断方式和DMA方式的区别中断方式在数据缓冲寄存器满时发中断请求,而DMA方式在数据全部传送完时发中断请求。中断方式中,数据从数据缓冲寄存器到内存是CPU在进行中断处理时完成的。而DMA方式数据是直接在DMA控制下完成的。4. 通道控

5、制方式(channel control)选择通道(selector channel):可以连接多个外设,而一次只能访问其中一个外设。多路通道( multiplexer channel):可以并发访问多个外设。分为字节多路(byte)和数组多路(block)通道。通道控制器(Channel Processor)有自己的专用存储器,可以执行由通道指令组成的通道程序,因此可以进行较为复杂的I/O控制,如网卡上信道访问控制。通道程序通常由操作系统所构造,放在内存里。优点:执行一个通道程序可以完成几批I/O操作。8.1.3 外设管理的目的和功能提高效率:提高I/O访问效率,匹配CPU和多种不同处理速度的

6、外设方便使用:方便用户使用,对不同类型的设备统一使用方法,协调对设备的并发使用方便控制:方便OS内部对设备的控制:增加和删除设备,适应新的设备类型返回1. 外设管理目的2. 外设管理功能提供设备使用的用户接口:命令接口和编程接口设备分配和释放:使用设备前,需要分配设备和相应的通道、控制器。设备的访问和控制:包括并发访问和差错处理。I/O缓冲和调度:目标是提高I/O访问效率8.1.4 外设管理结构返回逻辑I/O:逻辑设备(也称为虚拟设备)实体,不涉及实际的设备控制;针对用户接口,提供抽象的命令,如:Open, Close, Read, Write。针对通信设备,则是通信体系结构如网络协议栈;针对

7、文件存储设备,是文件系统的逻辑结构控制;设备I/O:逻辑设备与物理设备间的过渡协调机构。用户命令到设备操作序列的转换I/O缓冲:提高I/O效率。调度和控制:物理设备控制实体;直接面对硬件设备的控制细节。这部分通常体现为设备驱动程序。并发I/O访问调度设备控制和状态维护中断处理8.2 缓冲技术返回1. 引入缓冲技术的目的缓冲技术可提高外设利用率,尽可能使外设处于忙状态;但有一个限制:进程的I/O请求不能超过外设的处理能力。匹配CPU或用户应用进程与外设的不同处理速度减少对CPU的中断次数,提高CPU和I/O设备之间以及各个I/O设备之间的处理并行性。因此,缓冲区所在的位置:内存,控制器或外设。这

8、些在不同位置的缓冲区组合在一起,构成多级缓冲机制。2. 单方向缓冲单缓冲(single buffer):一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。双缓冲(double buffer):两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。环形缓冲(circular buffer):多个缓冲区,CPU和外设的处理速度可以相差较大。3. 缓冲池(buffer pool)缓冲区队列:三种:空闲缓冲区,输入缓冲区,输出缓冲区操作:四种:设备输入,CPU读入,设备输出,CPU写出。上述操作访问各个缓冲区队列时,需要进行相应的互斥操作。这是一种双方向缓冲

9、技术;缓冲区整体利用率高。8.3 设备分配8.3.1 设备分配数据结构8.3.2 设备分配原则8.3.3 假脱机技术返回由于外设资源的有限,需解决进程间的外设共享问题,以提高外设资源的利用率。设备分配是对进程使用外设过程的管理。这里有两种作法:1)在进程间切换使用外设,如键盘和鼠标;2)通过一个虚拟设备把外设与应用进程隔开,只通过虚拟设备来使用设备。8.3.1 设备分配数据结构设备控制表(DCT, Device Control Table):每个设备一张,描述设备特性和状态。反映设备的特性、设备和控制器的连接情况。DCT的内容主要包括:设备标识:用来区别不同的设备;设备类型:反映设备的特性;如

10、:块设备或字符设备;设备配置:I/O地址等;设备状态:工作或空闲状态;等待队列:等待使用该设备的进程队列;返回系统设备表(SDT, System Device Table):系统内一张,反映系统中设备资源的状态,记录所有设备的状态及其设备控制表的入口。SDT表项的主要组成:DCT指针:指向相应设备的DCT;设备使用进程标识:正在使用该设备的进程标识;DCT信息:为引用方便而保存的DCT信息,如:设备标识、设备类型等;控制器控制表(COCT, COntroller Control Table):每个设备控制器一张,描述I/O控制器的配置和状态。如DMA控制器所占用的中断号、DMA数据通道的分配。

11、通道控制表(CHCT, CHannel Control Table):每个通道一张,描述通道工作状态。返回8.3.2 设备分配原则与设备分配有关的设备属性:独享设备:打印机等;共享设备:磁盘、网卡等;设备分配方式:各有优缺点静态分配:在进程分创建时分配,在进程退出时释放;不会出现死锁;设备利用率不高;动态分配:在进程执行过程中根据需要分配,使用结束后释放;需要考虑死锁问题有利于提高设备利用率返回设备分配的原则是合理使用外设(公平和避免死锁),提高设备利用率。动态分配策略:针对特定的设备采用特定的分配策略。先来先服务(FCFS):按I/O请求的先后顺序,排成I/O请求命令队列;按FCFS分配设备

12、;基于优先级:依据进程的优先级,指定I/O请求的优先级,排成不同优先级队列;按优先级高低分配设备;8.3.3 假脱机技术引入:在多道批处理系统中,专门利用一道程序(SPOOLing程序)来完成对设备的I/O操作。无需使用外围I/O处理机。返回利用假脱机技术(SPOOLing, Simultaneous Peripheral Operation On Line, 也称为虚拟设备技术)可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。假脱机的原理:SPOOLing程序和外设进行数据交换,可以称为“实际I/O”。一方面,SPOOLing程序预先从外设输入数据并加以缓冲(放在输入井中),在

13、以后需要的时候输入到应用程序;另一方面,SPOOLing程序接受应用程序的输出数据并加以缓冲(放在输出井中) ,在以后适当的时候输出到外设。应用程序进行I/O操作时,只是和SPOOLing程序交换数据,可以称为虚拟I/O。这时虚拟I/O实际上是从SPOOLing程序的缓冲池中读出数据或把数据送入缓冲池,而不是跟实际的外设进行I/O操作。优点:高速虚拟I/O操作:应用程序的虚拟I/O比实际I/O速度提高,缩短应用程序的执行时间。另一方面,程序的虚拟I/O操作时间和实际I/O操作时间分离开来。实现对独享设备的共享:由SPOOLing程序提供虚拟设备,可以对独享设备依次共享使用。举例:打印机设备和可

14、由打印机管理器管理的打印作业队列。如:Windows NT中,应用程序直接向针式打印机输出需要15分钟,而向打印作业队列输出只需要1分钟,此后用户可以关闭应用程序而转入其他工作,在以后适当的时候由打印机管理器完成15分钟的打印输出而无需用户干预。8.4 设备控制8.4.1 设备的控制过程8.4.2 设备控制过程的实现方式8.4.3 设备驱动程序返回8.4.1 设备的控制过程转换:将抽象的命令转换为具体的一定次序的指令合法性检查:检查I/O操作请求的合法性可用性检查:检查控制器和设备的状态,判断是否可用参数设置:设置控制器和设备的参数,包括构造必要的通道程序启动I/O:向控制器或设备发起I/O操

15、作中断处理:提供必要的中断处理例程,以便I/O完成时调用返回依据用户的控制命令对外设进行控制,并返回结果。控制过程可分为以下6步:8.4.2 设备控制过程的实现方式作为应用进程的一部分执行:与程序控制I/O方式相对应。作为系统进程执行:每类设备一个进程,或整个系统一个进程处理各类设备。不设进程,作为OS核心中的设备驱动程序,也是最常用的方式。其工作流程如下图所示:返回8.4.3 设备驱动程序中转数据和控制:不是数据和控制的源端和目的端(应用程序和设备)与硬件特性密切相关:通常由硬件厂商提供。向上屏蔽设备细节:不同类型设备通常其设备驱动程序接口不同,同类设备的接口相同。因此,同类设备的不同型号,

16、只要更换设备驱动程序则可由OS使用。返回驱动程序是I/O处理功能的低级系统例程。它具有如下特征:8.5 磁盘设备管理8.5.1 磁盘I/O访问时间的组成8.5.2 磁盘I/O调度策略返回CPU和内存的访问速度比磁盘要快若干个数量级,磁盘系统的性能对整个系统的性能有重要影响,磁盘设备管理的目标就是提高磁盘系统的性能。8.5.1 磁盘I/O访问时间的组成 盘块的地址:柱面号,磁头号,扇区号盘块的地址:柱面号,磁头号,扇区号柱面定位时间:磁头移动到指定柱面的机械运动时间;机械运动,花费时间最多。旋转延迟时间:磁盘旋转到指定扇区的机械运动时间;它与磁盘转速相关,如:软盘转速可为600rpm(每分钟转速

17、),硬盘可为3600rpm。数据传送时间:从指定扇区读写数据的时间。返回由于柱面定位时间在访问时间中占主要部分,合理组成磁盘数据的存储位置可提高磁盘I/O性能。例子:读一个128KB大小的文件:(1)文件由8个连续磁道(每个磁道32个扇区)上的256个扇区构成:20ms+(8.3ms+16.7ms)*8=220ms;其中,柱面定位时间为20ms,旋转延迟时间为8.3ms,32扇区数据传送时间为16.7ms;(2)文件由256个随机分布的扇区构成:(20ms+8.3ms+0.5ms)*256=7373ms;其中,1扇区数据传送时间为0.5ms;随机分布时的访问时间为连续分布时的33.5倍。8.5

18、.2 磁盘I/O调度策略先进先出算法优先级算法短查找时间优先算法扫描(SCAN)算法返回来自不同进程的磁盘I/O请求构成一个随机分布的请求队列。磁盘I/O调度的主要目标就是减少请求队列对应的平均柱面定位时间。先进先出(FIFO, First In First Out)算法:磁盘I/O执行顺序为磁盘I/O请求的先后顺序。该算法的特点是公平性;在磁盘I/O负载较轻且每次读写多个连续扇区时,性能较好。优先级算法:依据进程优先级来调整磁盘I/O请求的执行顺序。该算法反映进程在系统的优先级特征,目标是系统目标的实现,而不是改进磁盘I/O性能。短查找时间优先(SSTF, Shortest Service

19、Time First)算法:考虑磁盘I/O请求队列中各请求的磁头定位位置,选择从当前磁头位置出发,移动最少的磁盘I/O请求。该算法的目标是使每次磁头移动时间最少。它不一定是最短平均柱面定位时间,但比FIFO算法有更好的性能。对中间的磁道有利,可能会有进程处于饥饿状态。扫描(SCAN)算法:根据当前磁头位置和移动方向,选择在磁头前进方向上从当前位置移动最少的磁盘I/O请求执行,没有前进方向上的请求时才改变磁头移动方向,反方向扫描。也称电梯调度算法。该算法是对SSTF算法的改进,磁盘I/O较好,且没有进程会饿死。小结外部设备:交互对象、输入输出类型、特性I/O控制技术:程序控制、中断驱动、DMA方式、通道方式外设管理目的和功能缓冲:目的、单缓冲、双缓冲和环形缓冲、缓冲池设备分配:共享和独享、静态和动态、假脱机技术设备控制:工作过程、实现方式、设备驱动程序作业设备管理的功能?设备I/O控制方式有哪几种?各自特点?为什么引用缓冲技术?常见的缓冲方式有几种?简述设备控制流程。简述几种磁盘调度算法特点。简述SPOOLING系统的工作原理。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号