操作系统-第5章设备管理.ppt
《操作系统-第5章设备管理.ppt》由会员分享,可在线阅读,更多相关《操作系统-第5章设备管理.ppt(72页珍藏版)》请在三一办公上搜索。
1、第7章 设备管理,安徽理工大学计算机系,第7章 外部设备管理,7.1 引言 7.2 缓冲技术 7.3 设备分配 7.4 设备控制 7.5 磁盘设备管理 7.6 设备管理举例,外设的特点:种类多 差异大(控制和速度)外设管理目的包括:外设资源的控制外设资源的共享提高外设资源的利用率。,7.1 引言,7.1.1 外部设备类型和特征7.1.2 I/O控制技术 7.1.3 外设管理的目的和功能 7.1.4 外设管理结构,7.1.1 外部设备类型和特征,1.按交互对象分类人机交互设备:视频显示设备、键盘、鼠标、打印机 与计算机或其他电子设备交互的设备:磁盘、磁带、传感器、控制器 计算机间的通信设备:网卡
2、、调制解调器,2.按交互方向分类,输入(可读):键盘、扫描仪 输出(可写):显示设备、打印机 输入/输出(可读写):磁盘、网卡,3.按外设特性分类使用特征:存储、输入/输出、终端 数据传输率:低速(如键盘)、中速(如打印机)、高速(如网卡、磁盘)信息组织特征:字符设备(如打印机)、块设备(如磁盘),7.1.1 外部设备类型和特征,4按设备的共享属性分类(1)独占设备。它是指在一段时间内只允许一个用户(进程)访问的设备,即临界资源。因而,对多个并发进程而言,应互斥地访问这类设备。系统一旦把这类设备分配给某后,便由该进程独占,直至用完释放。应当注意,独占设备的分配有可能引起进程死,7.1.1 外部
3、设备类型和特征,(2)共享设备。它是指在一段时间内允许多个进程同时访问的设备。当然,时刻而言,该类设备仍然只允许一个进程访问。显然,共享设备必须是可寻址的相可随访问的设备。典型的共享设备是磁盘。对共享设备不仅可获得良好的设备莉用率,而且实现文件系统和数据库系统的物质基础。(3)虚拟设备。它是指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户(进程)同时使用,通常把这种经过虚拟技术处理后的设备,称为虚拟设备。,7.1.2 I/O控制技术,1.程序控制I/O(programmed I/O)I/O操作由程序发起,并等待操作完成。数据的每次读写通过CPU。缺点:在外设进行数据处理时,CPU
4、只能等待。2.中断驱动方式(interrupt-driven I/O)I/O操作由程序发起,在操作完成时(如数据可读或已经写入)由外设向CPU发出中断,通知该程序。数据的每次读写通过CPU。优点:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序。缺点:CPU每次处理的数据量少(通常不超过几个字节),只适于数据传输率较低的设备。,3.直接存储访问方式(DMA),由程序设置DMA控制器中的若干寄存器值(如内存始址,传送字节数),然后发起I/O操作,而后者完成内存与外设的成批数据交换,在操作完成时由DMA控制器向CPU发出中断。优点:CPU只需干预I/O操作的开始和结束,而其中的一
5、批数据读写无需CPU控制,适于高速设备。,4.通道控制方式(Channel I/O),通道又称为I/O处理机,它能完成主存储器和外设之间的信息传输,并与中央处理机并行操作。采用通道技术解决了I/0操作的独立性和各部件工作的并行性。通道把中央处理机从繁琐的输入输出操作中解放出来。采用通道技术后,不仅能实现CPU和通道的并行操作,而且通道与通道之间也能实现并行操作,各通道上的外围设备也能实现并行操作,从而可达到提高整个系统的效率之根本目的:,7.1.2 I/O控制技术,通道控制器(Channel Processor)有自己的专用存储器,可以执行由通道指令组成的通道程序,因此可以进行较为复杂的I/O
6、控制,如网卡上信道访问控制。通道程序通常由操作系统所构造,放在内存里。优点:执行一个通道程序可以完成几批I/O操作。,具有通道结构的计算机系统,主存、通道、控制器和设备之间采用四级连接,实施三级控制。图为单通路I/O系统结构,7.1.2 I/O控制技术,7.1.2 I/O控制技术,字节多路通道:它是为连接大量慢速外围设备,如纸带输入机、纸带输出机、卡片输入机、卡片输入机、行式打印机等设置的。选择通道(selector channel):可以连接多个外设,而一次只能访问其中一个外设。多路通道(multiplexor channel):可以并发访问多个外设。分为字节多路(byte)和数组多路(bl
7、ock)通道。,7.1.2 I/O控制技术,I/O控制的通道控制方式,7.1.2 I/O控制技术,7.1.2 I/O控制技术,如上图可见,设备E,F,G,H均有四条通路到达主存。例如设备E到达主存的四条通路是:通道A控制器C设备E 通道A控制器D设备E 通道B控制器C设备E 通道B控制器D设备E,7.1.3 外设管理的目的和功能,1.外设管理目的提高效率:提高I/O访问效率,匹配CPU和多种不同处理速度的外设 方便使用:方便用户使用,对不同类型的设备统一使用方法,协调对设备的并发使用 方便控制:方便OS内部对设备的控制:增加和删除设备,适应新的设备类型,7.1.3 外设管理的目的和功能,2.外
8、设管理功能 动态地掌握并记录设备的状态。在设置有通道的系统中,还应掌握通道、控制器的使用状态。完成实际的I/O操作 首先,设备管理程序根据用户提出的I/O请求构成相应的通道程序(或称I/O程序),提供给通道执行;其次,启动指定的设备进行I/O操作;最后,对通道发来的中断请求作出及时的响应和处理。,7.1.3 外设管理的目的和功能,提供设备使用的用户接口:命令接口和编程接口 设备分配和释放:使用设备前,需要分配设备和相应的通道、控制器。设备的访问和控制:包括并发访问和差错处理。I/O缓冲和调度:目标是提高I/O访问效率,7.1.3 外设管理的目的和功能,设备管理软件,为实现上述基本功能通常由以下
9、程序组成:I/O交通管制程序;I/O调度程序;即设备分配程序;I/O设备处理程序;通常每类设备都有自己的IO设备处理程序。,7.2 I/O缓冲技术,缓冲技术可提高外设利用率,尽可能使外设处于忙状态;但有一个限制:进程的I/O请求不能超过外设的处理能力。引入缓冲的主要原因有以下几个方面:(1)缓和CPU与I/O设备间速度不匹配的矛盾(2)减少对CPU的中断频率,放宽对中断响应时间的限制(3)提高CPU和I/O设备之间的并行性,7.2 I/O缓冲技术,1.引入缓冲技术的目的匹配CPU或用户应用进程与外设的不同处理速度 减少对CPU的中断次数,提高CPU和I/O设备之间以及各个I/O设备之间的处理并
10、行性。因此,缓冲区所在的位置:内存,控制器或外设。这些在不同位置的缓冲区组合在一起,构成多级缓冲机制。,7.2 I/O缓冲技术,2.单方向缓冲 单缓冲(single buffer):一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。双缓冲(double buffer):两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。环形缓冲(circular buffer):多个缓冲区,CPU和外设的处理速度可以相差较大。,7.2 I/O缓冲技术,1环形缓冲的组成(1)多个缓冲区 在循环冲中含有多个缓冲区,每个缓冲区的大小相同。缓冲区可分成三种类型:空缓冲区R
11、。用于存放输入数据;已装满数据的缓冲区G。其中的数据提供给计算进程使用;现行工作缓冲区C。这是计算进程正在使用的缓冲区。循环缓冲的组成如下图所示。,7.2 I/O缓冲技术,空缓冲区R;已装满数据的缓冲区G;现行工作缓冲区C。循环缓冲,7.2 I/O缓冲技术,(2)多个指针 对用于输入的多缓冲,应设置这样三个指针:Nextg,指示计算进程下一个可用的缓冲区G;Nexti,指示输入进程下次可用的空缓冲区R;Current。指示计算进程正在使用的缓冲区单元。开始时,它指向第一个单元,随计算进程的使用,它将逐次地指向第2个单元,第3、4等单元,直至缓冲区的最后一个含数据的单元。,7.2 I/O缓冲技术
12、,2缓冲区的使用 计算进程和输入进程可利用下述两个过程使用循环缓冲区:(1)Getbuf过程 每当计算进程要使用缓冲区中的数据时,可调用Getbuf过程。该过程将指针Nextg所指的缓冲区提供给进程使用,相应地,须把它改为现行工作缓冲区,用Cment指针指简该缓冲区的第1个单元,同时将Nextg移向下一个G缓冲区。类似地,每当输入避程要使用空缓冲来装入数据时,也可调用Getbuf过程。由该过程将指针Nexti所指缓冲区提供给输入进程使用,同时将Nexti指针移向下一个R缓冲区。,7.2 I/O缓冲技术,(2)Releasebuf过程 当计算进程把G缓冲区中的数据提取完时,便可调用Release
13、buf过程,将该缓冲区释放。此时,把该缓冲区由当前(现行)工作缓冲区C改为空缓冲区R。类似地,当输入进程将缓冲区装满时,也调用Releasebuf过程,将该缓冲区释放,并改为G缓冲区。,7.2 I/O缓冲技术,3进程的同步 使用输入缓冲可使输入进程和计算进程并行执行。相应地,指针Nexti和指针Nextg将不断地沿顺时针方向移动,这样就可能出现下述两种情况:(1)Nexti指针追赶上Nextg指针 这意味着输入进程输入数据的速度大于计算进程处理数据的速度,已把全部缓冲区(可用空缓冲)装满。此时,输入进程应该阻塞,直至计算进程把某个缓冲区中数据全部提取完,使之成为空缓冲R,并调用Releaseb
14、uf过程将它释放时,这种情况被称为系统受计算限制。,7.3 设备分配,由于外设资源的有限,需解决进程间的外设共享问题,以提高外设资源的利用率。设备分配是对进程使用外设过程的管理。这里有两种作法:1)在进程间切换使用外设,如键盘和鼠标;2)通过一个虚拟设备把外设与应用进程隔开,只由虚拟设备来使用设备。7.3.1 设备分配数据结构 7.3.2 设备分配原则 7.3.3 假脱机技术,7.3.1 设备分配数据结构,设备控制表(DCT,Device Control Table):每个设备一张,描述设备特性和状态。反映设备的特性、设备和控制器的连接情况。DCT的内容主要包括:设备标识:用来区别不同的设备;
15、设备类型:反映设备的特性;如:块设备或字符设备;设备配置:I/O地址等;设备状态:工作或空闲状态;等待队列:等待使用该设备的进程队列;,7.3.1 设备分配数据结构,系统设备表(SDT,System Device Table):系统内一张,反映系统中设备资源的状态,记录所有设备的状态及其设备控制表的入口。SDT表项的主要组成:DCT指针:指向相应设备的DCT;设备使用进程标识:正在使用该设备的进程标识;DCT信息:为引用方便而保存的DCT信息,如:设备标识、设备类型等;,7.3.1 设备分配数据结构,控制器控制表(COCT,COntroller Control Table):每个设备控制器一张
16、,描述I/O控制器的配置和状态。如DMA控制器所占用的中断号、DMA数据通道的分配。通道控制表(CHCT,CHannel Control Table):每个通道一张,描述通道工作状态。,7.3.2 设备分配原则,设备分配原则是合理使用外设(公平和避免死锁),提高设备利用率。引入I/O调度程序,来满足I/O请求,决定设备的分配策略。与设备分配有关的设备属性:独享设备:打印机等;共享设备:磁盘、网卡等;设备分配方式:各有优缺点 静态分配:在进程分创建时分配,在进程退出时释放;不会出现死锁;设备利用率不高;,7.3.2 设备分配原则,动态分配:在进程执行过程中根据需要分配,使用结束后释放;需要考虑死
17、锁问题 有利于提高设备利用率动态分配策略:针对特定设备采用特定的分配策 略 先来先服务(FCFS):按I/O请求的先后顺序,排成I/O请求命令队列;按FCFS分配设备;基于优先级:依据进程的优先级,指定I/O请求的优先级,排成不同优先级队列;按优先级高低分配设备;,7.3.2 设备分配原则,设备分配的安全性 为了加快进程推进的速度,使CPU和I/O设备能并行工作,应使某些进程发出I/O请求之后,仍可以继续运行,需要时又可以发出第二个I/O请求、第三个I/O请求。仅当进程所请求的设备已经为另外一个进程占用时才进入阻塞状态。这样就可以同时操作多个外部设备。但是,这种多请求方式,会导致设备分配不安全
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 设备管理

链接地址:https://www.31ppt.com/p-6575520.html