您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 操作系统 第5章 设备管理
OPERSTERINGSYSTEM第5章设备管理操作系统中负责管理输入输出设备的部分称为I/O系统,完成设备管理功能,即控制这些设备完成期望的数据传送。I/O设备种类多、情况复杂,其管理的效率,对OS影响非常大,与处理机管理、存储管理密切相关,设备管理因此常常作为操作系统内核的一部分。从资源管理的角度:设备的分配与回收—设备调度。从扩展虚拟机的角度:–①隐藏设备细节:发送命令、捕获中断、处理错误、获取设备状态;–②提供一个统一的接口:满足设备的独立性。OPERSTERINGSYSTEMI/O系统的组成I/O系统的组成主要包括:I/O设备、设备控制器及相关接口、总线等,大型主机还包括I/O通道。OPERSTERINGSYSTEMI/O系统的结构一、微型机的I/O系统OPERSTERINGSYSTEM二、主机的I/O系统SystemBusProcessorI/OBusI/OControllerI/OControllerI/OControllerI/OControllerMemoryChannelProcessorPlotterDataScannerDiskarrayFloppydriveOpticaldriveASCIIPrinterOPERSTERINGSYSTEMI/O设备一、I/O设备的类型–1.按传输速率分类:低、中、高速。–2.按信息交换单位分类(信息组织方式):•块设备(适合DMA方式):是以字符块为单位的。磁盘、磁带都属于字符块设备。•字符设备:这是以字符为单位进行I/O的设备,每输入、输出一个字符就要中断一次CPU以求进行处理,所以它们也叫做慢速字符设备。如卡片阅读机、纸带机、打印机、穿孔机、等都属于这类设备。OPERSTERINGSYSTEM3.按设备共享属性分类:独占、共享、虚拟。–所谓独占,是说该类设备要以用户或作业为单位分配,在该用户未退出系统之前,或该作业未运行结束之前,此设备不能作其它分配。–所谓共享,是说多个进程可以交替地从这些设备上存取信息。–虚拟设备。通过SPOOLing技术把原独占设备改造成能为若干用户共享的设备,以提高设备的利用率。OPERSTERINGSYSTEM二、设备与控制器之间的接口–1.数据信号–2.控制信号–3.状态信号缓冲转换器控制逻辑信号数据数据信号线状态信号线控制信号线至设备控制器I/O设备OPERSTERINGSYSTEM设备控制器一、设备控制器的功能主要职责是控制一个或多个I/O设备,实现I/O设备和计算机之间的数据交换,是CPU与I/O设备之间的接口。–1.接收和识别命令–2.数据交换:CPU和控制器,控制器和设备–3.设备状态的了解和报告–4.地址识别OPERSTERINGSYSTEM二、设备控制器的组成–1.设备控制器与处理机的接口–2.设备控制器与设备的接口–3.I/O逻辑数据寄存器控制/状态寄存器数据线I/O逻辑…控制器与设备接口1控制器与设备接口i数据状态控制数据状态控制…地址线控制线CPU与控制器接口控制器与设备接口OPERSTERINGSYSTEMI/O通道一、通道设备的引入–为减轻处理机的负担,引入通道。–通道又称I/O处理机,它能完成主存储器和外设之间的信息传输,并与中央处理机并行操作。–通道技术解决了I/O操作的独立性和各部件的并行性。–通道控制器(ChannelProcessor)有自己的专用存储器,可以执行由通道指令组成的通道程序,因此可以进行较为复杂的I/O控制。通道程序通常由操作系统所构造,放在内存里。优点:执行一个通道程序可以完成几批I/O操作。OPERSTERINGSYSTEM二、通道类型–(1)字节多路通道:以字节为单位传送数据,它主要用来连接大量的低速设备,如终端、打印机等。当一台设备传送一个字节后,立即转去为另一设备传送一个字节。–(2)选择通道:它用于连接磁带、磁鼓和磁盘等设备,以块为单位成批传送数据,但一次只能执行一道通道程序,控制一台设备进行I/O操作,当一个I/O请求操作完成后,再选择与通道相连的另一设备。–(3)数组多路通道:它先为一台设备执行一条通道命令,然后自动转换,为另一台设备执行一条通道命令。数组多路通道的实质是:对通道程序采用多道程序设计技术的硬件实现。三、“瓶颈”问题:–为了解决通道不足的矛盾,使设备能得到充分利用,较经济的方法是:–①减少使用通道的时间;–②增加通路,提高通道的灵活性。如何设计通道从而避免瓶颈,系统结构课解决。OPERSTERINGSYSTEM5.2I/O控制方式程序I/O方式(programmedI/O)中断驱动I/O控制方式(interrupt-drivenI/O)直接存储器访问DMA控制方式(DMA,DirectMemoryAccess)I/O通道控制方式(channelcontrol)OPERSTERINGSYSTEM程序I/O方式(programmedI/O)I/O操作由程序发起,并等待操作完成。数据的每次读写通过CPU。缺点:在外设进行数据处理时,CPU只能等待。OPERSTERINGSYSTEM中断驱动I/O控制方式I/O操作由程序发起,在操作完成时(如数据可读或已经写入)由外设向CPU发出中断,通知该程序。数据的每次读写通过CPU。优点:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序。缺点:CPU每次处理的数据量少(通常不超过几个字节),只适于数据传输率较低的设备。OPERSTERINGSYSTEM直接存储器访问DMA控制方式由程序设置DMA控制器中的若干寄存器值(如内存始址,传送字节数),然后发起I/O操作,而后者完成内存与外设的成批数据交换,在操作完成时由DMA控制器向CPU发出中断。优点:CPU只需干预I/O操作的开始和结束,而其中的一批数据读写无需CPU控制,适于高速设备。OPERSTERINGSYSTEMI/O通道控制方式通道控制器(ChannelProcessor)有自己的专用存储器,可以执行由通道指令组成的通道程序,因此可以进行较为复杂的I/O控制。通道程序通常由操作系统所构造,放在内存里。优点:执行一个通道程序可以完成几批I/O操作。OPERSTERINGSYSTEM5.3缓冲管理缓冲技术可提高外设利用率,尽可能使外设处于忙状态;但有一个限制:进程的I/O请求不能超过外设的处理能力。OPERSTERINGSYSTEM缓冲的引入1.缓和CPU与I/O设备间速度不匹配的矛盾–匹配CPU或用户应用进程与外设的不同处理速度。2.减少对CPU的中断频率,放宽对中断相应时间的限制3.提高CPU和I/O设备之间的并行性因此,缓冲区所在的位置:内存,控制器或外设。OPERSTERINGSYSTEM1位缓冲9.6Kb/s8位缓冲寄存器送内存9.6Kb/s8位缓冲寄存器9.6Kb/s送内存(b)(a)(c)OPERSTERINGSYSTEM单缓冲单缓冲(singlebuffer):一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。工作区处理(C)缓冲区传送(M)输入(T)I/O设备(a)T1M1C1T2M2C2T3M3C3T4t(b)用户进程OPERSTERINGSYSTEM双缓冲双缓冲(doublebuffer):两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。工作区用户进程缓冲区1缓冲区2I/O设备T1(缓冲1)M1C1M2C2M3C3T2(缓冲2)T3(缓冲3)M4C4T4(缓冲4)(a)(b)OPERSTERINGSYSTEM循环缓冲环形缓冲(circularbuffer):多个缓冲区,CPU和外设的处理速度可以相差较大。可参见“生产者-消费者问题”,关键是资源量的增减(空或满的缓冲区数目)而不是生产者和消费者的指针移动。以上都认为是单方向缓冲。OPERSTERINGSYSTEMRGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrentOPERSTERINGSYSTEM缓冲池(bufferpool)这是一种双方向缓冲技术;缓冲区整体利用率高。(1)缓冲区队列:三种:空闲缓冲区,输入缓冲区,输出缓冲区(2)操作:–四种:设备输入,CPU读入,设备输出,CPU写出。上述操作访问各个缓冲区队列时,需要进行相应的互斥操作。OPERSTERINGSYSTEMinqueueemptyqueueoutqueueBufferPoolDeviceCPUOPERSTERINGSYSTEM5.4设备分配由于外设资源的有限,需解决进程间的外设共享问题,以提高外设资源的利用率。设备分配是对进程使用外设过程的管理。这里有两种作法:–1)在进程间切换使用外设,如键盘和鼠标;–2)通过一个虚拟设备把外设与应用进程隔开,只由虚拟设备来使用设备。OPERSTERINGSYSTEM设备分配中的数据结构一、设备控制表(DCT,DeviceControlTable)每个设备一张,描述设备特性和状态。反映设备的特性、设备和控制器的连接情况。DCT的内容主要包括:–设备标识:用来区别不同的设备;–设备类型:反映设备的特性;如:块设备或字符设备;–设备配置:I/O地址等;–设备状态:工作或空闲状态;–等待队列:等待使用该设备的进程队列;OPERSTERINGSYSTEM二、系统设备表(SDT,SystemDeviceTable)系统内一张,反映系统中设备资源的状态,记录所有设备的状态及其设备控制表的入口。SDT表项的主要组成:–DCT指针:指向相应设备的DCT;–设备使用进程标识:正在使用该设备的进程标识;–DCT信息:为引用方便而保存的DCT信息,如:设备标识、设备类型等;OPERSTERINGSYSTEM三、控制器控制表(COCT,COntrollerControlTable)每个设备控制器一张,描述I/O控制器的配置和状态。如DMA控制器所占用的中断号、DMA数据通道的分配。OPERSTERINGSYSTEM四、通道控制表(CHCT,CHannelControlTable)每个通道一张,描述通道工作状态。OPERSTERINGSYSTEM(c)系统设备表SDT控制器标识符:controllerid控制器状态:忙/闲与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针通道标识符:channelid通道状态:忙/闲与通道连接的控制器表首址通道队列的队首指针通道队列的队尾指针(a)控制器表COCT(b)通道表CHCT表目1…表目i…设备类设备标识符DCT驱动程序入口OPERSTERINGSYSTEM设备分配时应考虑的因素设备分配的原则是合理使用外设(公平和避免死锁),提高设备使用率。一、考虑设备的固有属性–1.独享设备:打印机等。进程使用完自己释放,一般不能剥夺;–2.共享设备:磁盘、网卡等。多个进程并发使用,需合理调度;–3.虚拟设备:虚拟打印机等。可有多个进程使用,但FCFS。OPERSTERINGSYSTEM二、设备分配算法–静态分配:在进程分创建时分配,在进程退出时释放;•不会出现死锁;•设备利用率不高;–动态分配:在进程执行过程中根据需要分配,使用结束后释放;•需要考虑死锁问题•有利于提高设备利用率OPERSTERINGSYSTEM动态分配策略:与进程调度类似,但简单一些;–先来先服务(FCFS):按I/O请求的先后顺序,排成I/O请求命令队列;按FCFS分配设备;–基于优先级:依据进程的优先级,指定I/O请求的优先级,排成不同优先级队列;按优先级高低分配设备;OPERSTERINGSYSTEM三、设备分配中的安全性1.安全分配方式–进程发出I/O请求后阻塞,完成后唤醒,即进程运行时不占有任何设备资源,摈弃了“请求保持”条件。2.不安全分配方式–进程发出I/O请求后仍继续运行,又可发出I/O请求,仅当进程所请求的设备已被另一进程占用时,进程才进入阻塞状态。–
本文标题:操作系统 第5章 设备管理
链接地址:https://www.777doc.com/doc-3817349 .html