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