[精选]操作系统-第5章 设备管理5287.pptx





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

限制150内