操作系统 第5章 设备管理_第1页
操作系统 第5章 设备管理_第2页
操作系统 第5章 设备管理_第3页
操作系统 第5章 设备管理_第4页
操作系统 第5章 设备管理_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

1、第5章设备管理,操作系统中负责管理输入输出设备的部分称为I/O系统,完成设备管理功能,即控制这些设备完成期望的数据传送。I/O设备种类多、情况复杂,其管理的效率,对OS影响非常大,与处理机管理、存储管理密切相关,设备管理因此常常作为操作系统内核的一部分。从资源管理的角度:设备的分配与回收设备调度。从扩展虚拟机的角度:隐藏设备细节:发送命令、捕获中断、处理错误、获取设备状态;提供一个统一的接口:满足设备的独立性。,I/O系统的组成,I/O系统的组成主要包括:I/O设备、设备控制器及相关接口、总线等,大型主机还包括I/O通道。,I/O系统的结构,一、微型机的I/O系统,二、主机的I/O系统,I/O

2、设备,一、I/O设备的类型1按传输速率分类:低、中、高速。2按信息交换单位分类(信息组织方式):块设备(适合DMA方式):是以字符块为单位的。磁盘、磁带都属于字符块设备。字符设备:这是以字符为单位进行I/O的设备,每输入、输出一个字符就要中断一次CPU以求进行处理,所以它们也叫做慢速字符设备。如卡片阅读机、纸带机、打印机、穿孔机、等都属于这类设备。,3.按设备共享属性分类:独占、共享、虚拟。所谓独占,是说该类设备要以用户或作业为单位分配,在该用户未退出系统之前,或该作业未运行结束之前,此设备不能作其它分配。所谓共享,是说多个进程可以交替地从这些设备上存取信息。虚拟设备。通过SPOOLing技术

3、把原独占设备改造成能为若干用户共享的设备,以提高设备的利用率。,二、设备与控制器之间的接口1数据信号2控制信号3状态信号,设备控制器,一、设备控制器的功能主要职责是控制一个或多个I/O设备,实现I/O设备和计算机之间的数据交换,是CPU与I/O设备之间的接口。1接收和识别命令2数据交换:CPU和控制器,控制器和设备3设备状态的了解和报告4地址识别,二、设备控制器的组成1设备控制器与处理机的接口2设备控制器与设备的接口3I/O逻辑,I/O通道,一、通道设备的引入为减轻处理机的负担,引入通道。通道又称I/O处理机,它能完成主存储器和外设之间的信息传输,并与中央处理机并行操作。通道技术解决了I/O操

4、作的独立性和各部件的并行性。通道控制器(ChannelProcessor)有自己的专用存储器,可以执行由通道指令组成的通道程序,因此可以进行较为复杂的I/O控制。通道程序通常由操作系统所构造,放在内存里。优点:执行一个通道程序可以完成几批I/O操作。,二、通道类型(1)字节多路通道:以字节为单位传送数据,它主要用来连接大量的低速设备,如终端、打印机等。当一台设备传送一个字节后,立即转去为另一设备传送一个字节。(2)选择通道:它用于连接磁带、磁鼓和磁盘等设备,以块为单位成批传送数据,但一次只能执行一道通道程序,控制一台设备进行I/O操作,当一个I/O请求操作完成后,再选择与通道相连的另一设备。(

5、3)数组多路通道:它先为一台设备执行一条通道命令,然后自动转换,为另一台设备执行一条通道命令。数组多路通道的实质是:对通道程序采用多道程序设计技术的硬件实现。三、“瓶颈”问题:为了解决通道不足的矛盾,使设备能得到充分利用,较经济的方法是:减少使用通道的时间;增加通路,提高通道的灵活性。如何设计通道从而避免瓶颈,系统结构课解决。,5.2I/O控制方式,程序I/O方式(programmedI/O)中断驱动I/O控制方式(interrupt-drivenI/O)直接存储器访问DMA控制方式(DMA,DirectMemoryAccess)I/O通道控制方式(channelcontrol),程序I/O方

6、式(programmedI/O),I/O操作由程序发起,并等待操作完成。数据的每次读写通过CPU。缺点:在外设进行数据处理时,CPU只能等待。,中断驱动I/O控制方式,I/O操作由程序发起,在操作完成时(如数据可读或已经写入)由外设向CPU发出中断,通知该程序。数据的每次读写通过CPU。优点:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序。缺点:CPU每次处理的数据量少(通常不超过几个字节),只适于数据传输率较低的设备。,直接存储器访问DMA控制方式,由程序设置DMA控制器中的若干寄存器值(如内存始址,传送字节数),然后发起I/O操作,而后者完成内存与外设的成批数据交换,在

7、操作完成时由DMA控制器向CPU发出中断。优点:CPU只需干预I/O操作的开始和结束,而其中的一批数据读写无需CPU控制,适于高速设备。,I/O通道控制方式,通道控制器(ChannelProcessor)有自己的专用存储器,可以执行由通道指令组成的通道程序,因此可以进行较为复杂的I/O控制。通道程序通常由操作系统所构造,放在内存里。优点:执行一个通道程序可以完成几批I/O操作。,5.3缓冲管理,缓冲技术可提高外设利用率,尽可能使外设处于忙状态;但有一个限制:进程的I/O请求不能超过外设的处理能力。,缓冲的引入,1缓和CPU与I/O设备间速度不匹配的矛盾匹配CPU或用户应用进程与外设的不同处理速

8、度。2减少对CPU的中断频率,放宽对中断相应时间的限制3提高CPU和I/O设备之间的并行性因此,缓冲区所在的位置:内存,控制器或外设。,单缓冲,单缓冲(singlebuffer):一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。,双缓冲,双缓冲(doublebuffer):两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。,循环缓冲,环形缓冲(circularbuffer):多个缓冲区,CPU和外设的处理速度可以相差较大。可参见“生产者消费者问题”,关键是资源量的增减(空或满的缓冲区数目)而不是生产者和消费者的指针移动。以上都认为是单方向缓冲。

9、,缓冲池(bufferpool),这是一种双方向缓冲技术;缓冲区整体利用率高。(1)缓冲区队列:三种:空闲缓冲区,输入缓冲区,输出缓冲区(2)操作:四种:设备输入,CPU读入,设备输出,CPU写出。上述操作访问各个缓冲区队列时,需要进行相应的互斥操作。,5.4设备分配,由于外设资源的有限,需解决进程间的外设共享问题,以提高外设资源的利用率。设备分配是对进程使用外设过程的管理。这里有两种作法:1)在进程间切换使用外设,如键盘和鼠标;2)通过一个虚拟设备把外设与应用进程隔开,只由虚拟设备来使用设备。,设备分配中的数据结构,一、设备控制表(DCT,DeviceControlTable)每个设备一张,

10、描述设备特性和状态。反映设备的特性、设备和控制器的连接情况。DCT的内容主要包括:设备标识:用来区别不同的设备;设备类型:反映设备的特性;如:块设备或字符设备;设备配置:I/O地址等;设备状态:工作或空闲状态;等待队列:等待使用该设备的进程队列;,二、系统设备表(SDT,SystemDeviceTable)系统内一张,反映系统中设备资源的状态,记录所有设备的状态及其设备控制表的入口。SDT表项的主要组成:DCT指针:指向相应设备的DCT;设备使用进程标识:正在使用该设备的进程标识;DCT信息:为引用方便而保存的DCT信息,如:设备标识、设备类型等;,三、控制器控制表(COCT,COntroll

11、erControlTable)每个设备控制器一张,描述I/O控制器的配置和状态。如DMA控制器所占用的中断号、DMA数据通道的分配。,四、通道控制表(CHCT,CHannelControlTable)每个通道一张,描述通道工作状态。,设备分配时应考虑的因素,设备分配的原则是合理使用外设(公平和避免死锁),提高设备使用率。一、考虑设备的固有属性1独享设备:打印机等。进程使用完自己释放,一般不能剥夺;2共享设备:磁盘、网卡等。多个进程并发使用,需合理调度;3虚拟设备:虚拟打印机等。可有多个进程使用,但FCFS。,二、设备分配算法静态分配:在进程分创建时分配,在进程退出时释放;不会出现死锁;设备利用

12、率不高;动态分配:在进程执行过程中根据需要分配,使用结束后释放;需要考虑死锁问题有利于提高设备利用率,动态分配策略:与进程调度类似,但简单一些;先来先服务(FCFS):按I/O请求的先后顺序,排成I/O请求命令队列;按FCFS分配设备;基于优先级:依据进程的优先级,指定I/O请求的优先级,排成不同优先级队列;按优先级高低分配设备;,三、设备分配中的安全性1安全分配方式进程发出I/O请求后阻塞,完成后唤醒,即进程运行时不占有任何设备资源,摈弃了“请求保持”条件。2不安全分配方式进程发出I/O请求后仍继续运行,又可发出I/O请求,仅当进程所请求的设备已被另一进程占用时,进程才进入阻塞状态。优点:多

13、个设备并行操作;缺点:可能造成死锁。,设备的独立性,一、设备独立性(Deviceindependence)的概念应用程序独立于具体使用的物理设备,因而也就出现了逻辑设备和物理设备的概念。设备独立性指除了直接与设备打交道的底层软件之外,其它部分的软件并不依赖于硬件。I/O软件独立于设备,就可以提高软件的设计效率。,操作系统设备管理的总体结构,目前最常见的是分为两层:设备无关层(独立层)和设备相关层(驱动层);也可进一步化分为:设备中断处理程序;设备驱动程序;与设备无关的操作系统软件;用户级软件(指用户空间的软件)。,相关层与无关层划分的思想依据主要在于可移植性和可扩充性。不同计算机所配备的设备是

14、不同的,一个计算机系统不同时刻所配备的外设的数量和类型也是不同的,并且新设备也在不断的涌现。操作系统必须有设备的独立性,以免操作系统本身的代码需要经常修改和重编译。,相关层和独立层的划分,有利于这个目标的实现:相关层(较低的层)用于将硬件特征与无关层(较高的层)隔离开,无关层(较高的层)则参与向用户提供一个友好、清晰而规范的接口。从功能上看,无关层是I/O管理的主要部分,从代码量看,驱动层是I/O管理的主要部分。其次要注意分层的相对灵活和模糊性,则主要是从效率考虑。,妈妈新开了个淘宝店,欢迎前来捧场妈妈的淘宝点开了快半年了,主要卖的是毛绒玩具、坐垫、抱枕之类的,但生意一直不是很好,感觉妈妈还是

15、很用心的,花了不少功夫,但是就是没有人气,所以我也来出自己的一份力,帮忙宣传一下。并且妈妈总是去五亭龙挑最好的玩具整理、发货,质量绝对有保证。另外我家就在扬州五亭龙玩具城旁边,货源丰富,质量可靠,价格便宜。欢迎大家来逛逛【扬州五亭龙玩具总动员】,个人小广告:,1中断层中断层的主要工作:(1)寄存器级的I/O;或DMA操作结束,与缓冲区打交道;(2)检查状态;(3)需要时的后续驱动:发出后续命令。(4)可能要改变有关进程的状态。如唤醒阻塞的进程。,二、设备独立性软件,2驱动层由所有设备驱动程序构成。设备驱动程序是直接同硬件打交道的软件模块。(1)解释命令,并向有关控制寄存器发出控制命令。(2)和

16、I/O有关的队列管理。(3)执行特定的缓冲区策略(4)比寄存器级别更高的一些特殊处理。如代码转换。,3独立层负责实现对所有设备来说具有共性的功能。即提供设备驱动程序的统一接口。在UNIX中,独立层大部分是文件系统的组成部分。(1)统一命名:如UNIX下的/dev/tty00(2)设备保护:防止未授权的使用(3)提供与设备无关的逻辑块,(4)缓冲。速度匹配、数据块的打包和解包。注意虽然缓冲区的分配与释放属独立层,但缓冲区的读写则是驱动层的工作。(5)存储设备的块分配:为文件创建服务,分配外存上的物理块。(6)独占设备的分配和释放:根据设备的分配状况决定接受请求还是拒绝请求,调用进程的挂起与调度。

17、(7)错误处理。,大部分I/O软件包含在操作系统之中,但仍然有一小部分与用户程序链接在一起的库函数中的过程,以及运行于核外的整个程序。(1)库过程例如:printf();API中的write();假脱机(运行于核外的整个程序),4用户空间软件,三、逻辑设备名到物理设备名映射的实现1.逻辑设备表(LUT),2.系统逻辑设备表,进程逻辑设备表,独占设备的分配程序,一、基本的设备分配程序1分配设备2分配控制器3分配通道二、设备分配程序的改进1增加设备的独立性2考虑多路通路的情况,SPOOLing技术,利用假脱机技术(SPOOLing,SimultaneousPeripheralOperationOn

18、Line,也称为虚拟设备技术)可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。,一、什么是SPOOLing引入:在多道程序系统中,专门利用一道程序(SPOOLing程序)来完成对设备的I/O操作。无需使用外围I/O处理机。,SPOOLing程序和外设进行数据交换,可以称为“实际I/O”。一方面,SPOOLing程序预先从外设输入数据并加以缓冲(输入井),在以后需要的时候输入到应用程序;另一方面,SPOOLing程序接受应用程序的输出数据并加以缓冲(输出井),在以后适当的时候输出到外设。应用程序进行I/O操作时,只是和SPOOLing程序交换数据,可以称为“虚拟I/O”。这时候的虚

19、拟I/O实际上是从SPOOLing程序的缓冲池中读出数据或把数据送入缓冲池,而不是跟实际的外设进行I/O操作。,原理,二、SPOOLing系统的组成1输入井和输出井:在磁盘上。2输入缓冲区和输出缓冲区:在内存。3输入进程和输出进程:守护(daemon)进程,三、SPOOLing系统的特点优点:高速虚拟I/O操作:应用程序的虚拟I/O比实际I/O速度提高,缩短应用程序的执行时间(尽快完成计算,并释放占用的计算机资源)。另一方面,程序的虚拟I/O操作时间和实际I/O操作时间分离开来。实现对独享设备的共享:由SPOOLing程序提供虚拟设备,可以对独享设备依次共享使用。,四、举例:打印机设备和可由打

20、印机管理器管理的打印作业队列。如:WindowsNT中,应用程序直接向针式打印机输出需要15分钟,而向打印作业队列输出只需要1分钟,此后用户可以关闭应用程序而转入其他工作,在以后适当的时候由打印机管理器完成15分钟的打印输出而无需用户干预。又如Internet上的USENET电子邮件系统,要向某人发邮件,先调用一个称为send的程序,send接到要发的邮件,然后将它送入一个SPOOLing目录,待以后发送。,5.5设备处理,设备驱动程序的功能和特点设备驱动程序的处理过程中断处理程序的处理过程,设备驱动程序的功能和特点,一、设备驱动程序的功能1将抽象的要求转换位具体的要求2检查I/O参数的合法性

21、3发出I/O命令或生成通道程序并启动之4中断处理,二、设备处理方式作为应用进程的一部分执行:与程序控制I/O相对应,难以对外设发出的中断作实时响应;作为系统进程执行:为每类设备设置一个进程;或整个系统设置一个I/O进程,负责对各类设备的I/O进程的管理;也可设置一个输入进程和一个输出进程;不设进程,作为OS核心中的设备驱动程序,供用户或系统进程调用。,三、设备驱动程序的特点设备驱动程序是在I/O请求进程与设备控制清之间的桥梁,中转数据和控制。设备驱动程序与I/O设备特性、控制方式及硬件密切相关,一般由厂商提供。向上屏蔽设备细节:不同类型设备通常其设备驱动程序接口不同,同类设备的接口相同。因此,

22、同类设备的不同型号,只要更换设备驱动程序则可由OS使用。,设备驱动程序的处理过程,1将抽象要求转化为具体要求。2检查I/O请求的合法性3读出和检查设备的状态4传送参数5设置工作方式6启动I/O设备,中断处理程序的处理过程,1唤醒被阻塞驱动程序进程2保护被中断进程的上下文3分析中断原因并转入相应的中断处理程序4中断处理5唤醒低级调度程序,5.6磁盘存储器管理,磁盘存储器:随机读写共享设备,可移动介质特点:容量大,速度快。管理要求:合理分配空间、访问效率高,容错能力强。其性能直接影响文件系统的性能指标。,磁盘I/O和调度算法,提高磁盘I/O速度的途径:(1)硬件解决:选择性能好的磁盘转速(Rota

23、tionlSpeed):是硬盘内电机主轴的旋转速度,也就是硬盘盘片在一分钟内所能完成的最大转数,硬盘转速以每分钟多少转来表示,单位表示为RPM,RPM是RevolutionsPerminute的缩写,是转/每分钟.(2)好的磁盘调度算法(3)设置磁盘高速缓冲区,磁盘的格式化,磁盘的性能简述,一、数据的组织标识符字段:磁道号、磁头号、扇区号数据字段二、磁盘的类型固定头磁盘:每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。这种结构的磁盘主要用于大容量磁盘上。移动头磁盘:一个盘面仅配有一个磁头,也被装入磁臂中。

24、为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;,三、磁盘访问时间寻道时间指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和,即Ts=mn+s其中,m是一常数,与磁盘驱动器的速度有关旋转延迟时间指定扇区移动到磁头下面所经历的时间。传输时间指把数据从磁盘读出或向磁盘写入数据所经历的时间。Tt的大小与每次所读/写的字节数b和旋转速度有关,其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数,早期磁盘调度算法,来自不同进程的磁盘I/O请求构成一个随机分布的请求队列。磁盘I/O调度的主

25、要目标就是减少请求队列对应的平均访问时间,主要是寻道时间。常用的调度算法先来先服务最短寻道时间优先扫描算法循环扫描算法,磁盘I/O执行顺序为磁盘I/O请求的先后顺序。,磁头需要移动640个柱面,平均寻道长度80,一、先来先服务(FCFS),该算法的特点是公平性;在磁盘I/O负载较轻且每次读写多个连续扇区时,性能较好。,考虑磁盘I/O请求队列中各请求的磁头定位位置,选择从当前磁头位置出发,移动最少的磁盘I/O请求。该算法的目标是使每次磁头移动时间最少。,二、最短寻道时间优先SSTF(ShortSeekTimeFirst),磁头需要移动236个柱面,平均寻道长度29.5,访问磁道与当前磁头所在位置最近,但不能保证平均寻道时间最短,但比FIFO算法有更好的性能。进程有能“饿死”,各种扫描算法,一、扫描(SCAN)算法:电梯调度算法。选择在磁头前进方向上从当前位置移动最少的磁盘I/O请求执行,没有前进方向上的请求时才改变方向。,二、循环扫描算法CSCAN(CircularSCAN)在一个方向上使用扫描算法,当到达

温馨提示

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

评论

0/150

提交评论