《操作系统设备.ppt》由会员分享,可在线阅读,更多相关《操作系统设备.ppt(47页珍藏版)》请在优知文库上搜索。
1、第10章 设备管理nI/O基本概念nI/O控制技术nI/O子系统层次结构n设备分配n假脱机技术n设备控制n磁盘调度管理nWindowsNT设备管理举例10.1 概述I/O设备在计算机系统中除CPU和内存储外所有的设备和装置。也叫计算机外部设备(外围设备)。I/O子系统操作系统中负责I/O设备管理的功能模块。n外设的特点:n种类多n差异大(控制和速度)n按交互对象分类:n人机交互设备:视频显示设备、键盘、鼠标、打印机。n与计算机或其他电子设备交互的设备:磁盘、磁带、传感器、控制器。n计算机间的通信设备:网卡、调制解调器。n按外设特性分类使用特征:存储、输入/输出、终端信息组织特征:n块设备:信息
2、按字符块组织和处理。(面向块的设备) 如:磁盘。n字符设备:信息按字符组织和处理。(面向字符的设备)。如:打印机。设备分类1、I/O控制技术n程序控制I/O(programmed I/O)n I/O操作由程序发起,程序执行忙等待操作等待操作完成。数据的每次读写通过CPU。n缺点:在外设进行数据处理时,CPU只能等待(忙等待)。1、I/O控制技术n中断驱动方式(interrupt-driven I/O) nI/O操作由程序发起,在操作完成时(如数据可读或已经写入)由外设向CPU发出中断,通知该程序。数据的每次读写通过CPU。n优点:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程
3、序。n缺点:每次I/O都要CPU的干预,CPU每次处理的数据量少(通常不超过几个字节),只适于数据传输率较低的设备。1、I/O控制技术n直接存储访问方式(DMA) Direct Memory Accessn由程序设置DMA控制器中的若干寄存器值(如内存起始地址,传送字节数),然后发起I/O操作,而DMA控制器完成内存与外设的成批数据交换,在操作完成时由DMA控制器向CPU发出中断。n优点:CPU只需干预I/O操作的开始和结束,而其中的一批数据读写无需CPU控制,适于高速设备。System BusI/OControllerI/OControllerProcessorDMAControllerMe
4、mory.DataCountDataRegisterAddressRegisterControlLogicDMA RequestDMA AcknowledgeInterruptReadWriteAddress LinesData Lines DMA方式下的I/O控制器结构通道控制方式(channel control)n通道:是计算机系统中专门用于I/O的处理机。n在大、中、小型计算机中一般称为通道,结构如图所示通道控制方式(channel control)通道控制器(Channel Processor)有自己的专用存储器,可以执行由通道指令组成的通道程序,因此可以进行较为复杂的I/O控制,如网
5、卡上信道访问控制。通道程序通常由操作系统所构造,放在内存里。优点:执行一个通道程序可以完成几批I/O操作。n选择通道(selector channel):可以连接多个外设,而一次只能访问其中一个外设。n多路通道(multiplexor channel):可以并发访问多个外设。分为字节多路(byte)和数组多路(block)通道。2、设备管理的目的和功能nI/O子系统设计目标n有效性:n提高效率:提高I/O访问效率,匹配CPU和多种不同处理速度的外设n通用性n方便使用:方便用户使用,对不同类型的设备统一使用方法,协调对设备的并发使用n方便控制:方便OS内部对设备的控制:增加和删除设备,适应新的设
6、备类型设备独立性设备独立性n设备独立性是指用户在编程序时所使用的设备与实际设备无关。n两类设备独立性:n一个程序应独立于分配给它的某类设备的具体设备。即在用户程序中只指明I/O使用的设备类型即可。如在系统中配备了两台打印机,用户要打印时只要告诉系统要将信息送到打印机即可。n程序要尽可能地与它使用的设备类型无关。即在用户程序中只要指出要输入或输出信息,至如信息I/O使用的设备不需用户指明。n设备存取设备存取实现对设备的存取操作,提供命令接口和编程接口。实现对设备的存取操作,提供命令接口和编程接口。n设备分配设备分配 在多用户的环境下,负责设备的分配和回收。在多用户的环境下,负责设备的分配和回收。
7、n设备控制设备控制 设备控制包括设备的驱动、完成和故障中断处理。设备控制包括设备的驱动、完成和故障中断处理。n状态跟踪状态跟踪 设备控制块是存放设备管理和控制信息的数据结构。设备控制块是存放设备管理和控制信息的数据结构。 系统要掌握设备的状态。系统要掌握设备的状态。3、 I/O管理功能4、 I/O子系统层次模型User ProcessLogical I/ODevice I/OScheduling & Control(Device Driver)HardwareCommunications Architecturen逻辑I/O:逻辑设备(也称为虚拟设备)实体,不涉及实际的设备控制;n针对用户接口
8、,提供抽象的命令,如:Open, Close, Read, Write。n针对通信设备,则是通信体系结构如网络协议栈;n针对文件存储设备,是文件系统的逻辑结构控制;n设备I/O:逻辑设备与物理设备间的过渡协调机构。n用户命令到设备操作序列的转换nI/O缓冲:提高I/O效率。n调度和控制:物理设备控制实体;直接面对硬件设备的控制细节。这部分通常体现为设备驱动程序。n并发I/O访问调度n设备控制和状态维护n中断处理10.2 设备分配n由于外设资源的有限,需解决进程间的外设共享问题,以提高外设资源的利用率。设备分配是对进程使用外设过程的管理。这里有两种作法:n在进程间切换使用外设,如键盘和鼠标;n通
9、过一个虚拟设备把外设与应用进程隔开,只由虚拟设备来使用设备。1、 设备分配原则设备分配的原则是合理使用外设(公平和避免死锁),提高设备利用率。n独占设备n在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。(如打印机,磁带等)n共享设备n在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高。(如磁盘、网卡)n虚拟设备n在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚拟设备。n目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率n设备分配方式:n静态分配:在进程创建时分配,在进程退出时释放;n
10、不会出现死锁;n设备利用率不高;n动态分配:在进程执行过程中根据需要分配,使用结束后释放;n需要考虑死锁问题n有利于提高设备利用率n动态分配策略:针对特定的设备采用特定的分配策略。n先来先服务(FCFS):按I/O请求的先后顺序,排成I/O请求命令队列;按FCFS分配设备;n基于优先级:依据进程的优先级,指定I/O请求的优先级,排成不同优先级队列;按优先级高低分配设备;2、假脱机技术利用假脱机技术(SPOOLing, Simultaneous Peripheral Operation On Line, 也称为虚拟设备技术)可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。n在多道批
11、处理系统中,专门利用一道程序(SPOOLing程序)来完成对设备的I/O操作。无需使用外围I/O处理机。Application AApplication BSPOOLingProgramDeviceVirtual I/OActual I/O假脱机的原理nSPOOLing程序和外设进行数据交换,可以称为“实际I/O”。一方面,SPOOLing程序预先从外设输入数据并加以缓冲,在以后需要的时候输入到应用程序;另一方面,SPOOLing程序接受应用程序的输出数据并加以缓冲,在以后适当的时候输出到外设。n在SPOOLing程序中,需要管理两级缓冲区:内存缓冲区和快速外存上的缓冲池,后者可以暂存多批I/
12、O操作的较多数据。n应用程序进行I/O操作时,只是和SPOOLing程序交换数据,可以称为虚拟I/O。这时虚拟I/O实际上是从SPOOLing程序的缓冲池中读出数据或把数据送入缓冲池,而不是跟实际的外设进行I/O操作。 慢慢速速系系统统设设备备 预预输输入入 缓缓冲冲区区 输输入入井井 进进程程 1 进进程程 2 缓缓冲冲区区 打打印印机机 缓缓输输出出(每每个个进进程程读读井井中中某某一一缓缓冲冲区区内内容容) 磁磁盘盘 磁磁盘盘中中的的缓缓冲冲区区看看作作是是一一个个虚虚拟拟设设备备,进进程程对对其其进进行行读读写写 输输出出井井 磁磁盘盘 n优点:n高速虚拟I/O操作:应用程序的虚拟I/
13、O比实际I/O速度提高,缩短应用程序的执行时间。另一方面,程序的虚拟I/O操作时间和实际I/O操作时间分离开来。n实现对独享设备的共享:由SPOOLing程序提供虚拟设备,可以对独享设备依次共享使用。n举例:打印机设备和可由打印机管理器管理的打印作业队列。n如:Windows NT中,应用程序直接向针式打印机输出需要15分钟,而向打印作业队列输出只需要1分钟,此后用户可以关闭应用程序而转入其他工作,在以后适当的时候由打印机管理器完成15分钟的打印输出而无需用户干预。10.3 设备控制n设备的控制过程n设备控制过程的实现方式n设备驱动程序1、设备的控制过程n转换:将抽象的命令转换为具体的一定次序
14、的指令n合法性检查:检查I/O操作请求的合法性n可用性检查:检查控制器和设备的状态,判断是否可用n参数设置:设置控制器和设备的参数,包括构造必要的通道程序n启动I/O:向控制器或设备发起I/O操作n中断处理:提供必要的中断处理例程,以便I/O完成时调用依据用户的控制命令对外设进行控制,并返回结果。控制过程可分为以下6步:2、设备控制过程的实现方式n作为应用进程的一部分执行:与程序控制I/O相对应,难以对外设发出的中断作实时响应n作为系统进程执行:每类设备一个进程,或整个系统一个进程处理各类设备n不设进程,作为OS核心中的设备驱动程序3、设备驱动程序n中转数据和控制:不是数据和控制的源端和目的端
15、(应用程序和设备)n与硬件特性密切相关:通常由硬件厂商提供。n向上屏蔽设备细节:不同类型设备通常其设备驱动程序接口不同,同类设备的接口相同。因此,同类设备的不同型号,只要更换设备驱动程序则可由OS使用。驱动程序是I/O处理功能的低级系统例程。它具有如下特征:nCPU和内存的访问速度比磁盘要快若干个数量级,磁盘系统的性能对整个系统的性能有重要影响,磁盘调度的目标就是提高磁盘系统的性能。n主要内容n磁盘I/O访问时间的组成n磁盘I/O调度策略n磁盘缓存置换算法10.4 磁盘调度1、磁盘I/O访问时间的组成n柱面定位时间:磁头移动到指定柱面的机械运动时间;n旋转延迟时间:磁盘旋转到指定扇区的机械运动
16、时间;它与磁盘转速相关,如:软盘转速可为600rpm(每分钟转速),硬盘可为7200rpm。n数据传送时间:从指定扇区读写数据的时间。设备占用等待时间I/O通道占用等待时间柱面定位时间旋转延迟时间数据传送时间磁盘设备忙2、查找优化策略查找优化策略n目标目标:降低查找时间n评价评价:吞吐量,平均响应时间,响应时间的可预期性(或变化幅度)。n优化:移动磁头所花时间正比于所需移动的总的距离。n查找优化策略:n先来先服务(先来先服务(FCFS)n最短查找时间优先(最短查找时间优先(SSTF)n扫描策略扫描策略(SCAN)/(电梯调度算法)(电梯调度算法)n循环扫描策略(循环扫描策略(C-SCAN)n原则:各进程对磁盘请求的等待队列按提出请求的时间进行排序,并按此次序给予服务。n评价:n访问请求均匀分布整个盘面,而不具有某种集中倾向时,导致随机访问模式无法对访问优化!n访问请求较多时,降低设备服务的吞吐量吞吐量,提高响应响应时间时间;n响应时间变化幅度响应时间变化幅度较小!n应用:在访问请求不是很多情况下可接受,且算法较简单。先来先服务先来先服务(FCFS) FCFS:当前磁道=100; 磁头移