《《软件技术设备》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件技术设备》PPT课件.ppt(33页珍藏版)》请在三一办公上搜索。
1、第十章设备管理,本章基本内容与要求,基本内容设备管理的有关概念I/O请求的检测与控制缓冲技术设备管理程序虚拟设备技术要求掌握设备管理的有关概念掌握I/O请求的检测与控制掌握缓冲技术、设备管理程序、虚拟设备技术,第一节 设备管理的有关概念,1.设备分类2.设备管理的任务,1.设备分类,1从数据组织的角度分类 块设备 以块为单位组织和传送数据,每块的大小一般是512的倍数,如磁盘是一种典型的块设备。字符设备 以字符为单位组织和传送数据,如键盘、打印机等。,2从资源分配的角度分类 独占设备 在系统运行期间,在某一段时间内,为某一进程所独占的设备。大多数低速设备属于独占设备,如纸带输入机、打印机等。共
2、享设备 允许若干用户或进程同时共同使用的设备,如磁盘等。虚拟设备 通过软件技术(如假脱机技术),把原来的独占设备改造成共享设备。,设备管理的功能,方便用户使用设备方便性:方便用户使用I/O设备设备独立性:用户的程序与设备相互独立,完成用户提出的I/O请求,为用户分配I/O设备提高设备的使用效率并行性:使外设和CPU工作高度重叠有效性和均衡性:提高CPU和I/O设备的利用率,2.设备管理的任务,1)确定分配策略 按照进程的请求把进程需要的输入输出设备分配给进程。2)启动设备完成实际的输入输出操作 输入输出设备都有一个控制器,它直接控制设备完成具体的输入输出,而CPU只是与设备控制器交换信息。3)
3、提供统一、友好的使用界面 使用户能方便地利用外部设备资源。4)优化设备的调度、提高设备的利用率 使各种外部设备与主机以及各外部设备之间能协调地工作,以充分合理地利用系统资源,尽量提高并行程度。,设备管理的主要内容,1)I/O请求的检测与控制2)解决设备的低速性与CPU高速性之间的矛盾,提高CPU的利用率3)设备分配策略,第二节 I/O请求的检测与控制,循环测试I/O方式中断驱动方式直接内存存取(DMA)方式I/O通道方式,1.循环测试I/O方式,利用I/O测试指令测试设备的忙与闲。若设备处于闲状态,则执行输入输出指令;若设备处于忙状态,则I/O测试指令不断对设备进行测试,直到设备空闲为止。缺点
4、:CPU要花费大量时间进行设备忙/闲测试,造成CPU资源的极大浪费。,2.中断驱动方式,当进程需要启动某个I/O设备工作时,便由CPU向相应的设备控制器发出一条I/O指令,然后立即返回继续执行原来的任务,而设备控制器便按照该指令的要求去控制I/O设备。每当设备完成I/O操作,便以中断请求方式通知CPU,然后转向相应的中断处理程序进行相应处理。,2.中断驱动方式,3.直接内存存取(DMA)方式 Direct Memory Access,DMA方式主要用于块设备与主存之间进行批量数据传输。它使用一个专用DMA控制器,使用截取总线控制权的方法,由DMA控制器送出内存地址,发出内存读、设备写或设备读、
5、内存写的控制信号来完成内存与设备之间的直接数据传输,而不用CPU干预。当一次DMA传送的数据全部完成时,才产生中断,告诉CPU数据传输完毕。,3.直接内存存取(DMA)方式,4.I/O通道方式,通道方式有独立的I/O管理机制,这时只要发一条I/O指令给通道,告诉通道执行I/O操作要访问的设备,通道便从内存储器中读取通道程序以完成I/O控制管理。,4.I/O通道方式,通道控制结构,第三节 缓冲技术,在内存中划出一块由n个单元组成的区域,称为缓冲区,作为外部设备传输数据的临时存储区。目的:解决处理数据过程中CPU的高速性与设备传输的低速性之间的矛盾 单缓冲区和双缓冲区多缓冲区缓冲池,1.单缓冲区和
6、双缓冲区,用户进程,传送,输入/输出,I/O设备,用户进程,传送,输入/输出,I/O设备,2.多缓冲区,把多个缓冲区连接起来分成两部分,一部分用于输入,一部分用于输出。,R,R,G,G,G,G,P(下次可取用的缓冲区地址),q(输入设备输入时可用的缓冲区地址),R,R,G,G,G,G,P(输出设备按P指针依次输出),q(输出数据从这里依次输入缓冲区),输入缓冲区,输出缓冲区,3.缓冲池,把输入输出缓冲区统一起来,形成一个既能用于输入又能用于输出的缓冲区,称为缓冲池。在缓冲池中存在三种类型缓冲区:1)输入数据缓冲区2)输出数据缓冲区3)空白缓冲区每一种缓冲区都通过指针分别链成三个队列,称为输入队
7、列(in),输出队列(out)和空白队列(em)。,第四节 设备管理程序,逻辑设备与物理设备设备分配程序设备驱动程序,1.逻辑设备与物理设备,十点钟叫张三去买菜,十点钟叫采购部找人去买菜,逻辑设备与物理设备,绝对设备号:就是将每一台设备确定一个编号(相当于一个绝对地址)。(物理设备号)相对设备号:设备类型号(逻辑设备号)系统为每一类设备规定一个类型号符号名(逻辑设备名):在OS的命令语言中,通常用符号名代替设备类型号,如:COM为串行打印机,LPT为并行打印机。,1.逻辑设备与物理设备,设备独立性(与设备无关性)使用户程序与实际使用的物理设备无关,可以脱离具体的物理设备来使用设备。由系统进行逻
8、辑设备与物理设备之间的对应关系维护,并由系统做相应的连接工作。,2.设备分配程序,当有进程提出I/O请求时,依次完成设备、控制器和通道的分配工作;分配算法:先请求先服务算法、优先级算法。,3.设备驱动程序,)使CPU通过发I/O指令,去启动指定的I/O设备,进行I/O操作。)当I/O操作完成或发生其他事件时,I/O设备向CPU发出中断请求,要求处理机进行相应处理。,第五节 虚拟设备技术,虚拟设备:是一个软件子系统,使用这个软件子系统,可以将独占设备变成共享设备,构成:外存储空间相应的数据结构控制代码SPOOLing(Simultaneous Peripheral Operation On-Li
9、ne)技术,习惯上称其为假脱机技术。当在外围设备和计算机处理器之间传送数据时,为了减少处理的延时,把辅助存储器作为缓冲存储器来使用的一种方法或技术。,第五节 虚拟设备技术,虚拟设备技术的引入SPOOLing系统的组成SPOOLing技术的特点,卡片机,打印机,卫星机,主机,输入磁带,输出磁带,早期脱机批处理,1.虚拟设备技术的引入,假脱机技术将一台低速的输入输出设备改变成一台高速的虚拟设备,把一台独占设备改变成具有共享能力的虚拟设备。这增加了系统调度和分配的灵活性,提高了设备的利用率。,2.SPOOLing系统的组成,1)输入井和输出井2)输入缓冲区(输入队列)和输出缓冲区(输出队列)3)输入
10、进程SPI和输出进程SPO,2.SPOOLing系统的组成,3.SPOOLing技术的特点,1)提高了I/O速度 从对低速I/O设备进行的I/O操作变为对输入井或输出井的操作,如同脱机操作一样,提高了I/O速度,缓和了CPU与低速I/O设备速度不匹配的矛盾。2)设备并没有分配给任何进程 在输入井或输出井中,分配给进程的是一个存储区和建立的一张I/O请求表。3)实现了虚拟设备功能 多个进程同时使用同一独享设备,而对每一进程而言,都认为自己独占这一设备,不过,该设备是逻辑上的设备。,练习,21 是指通过破坏死锁产生的必要条件来防止死锁的发生。引起死锁的必要条件中,22 是不应被破坏的,但对某种特殊资源(如打印机),该条件可以通过 23 技术来破坏。,21、预防死锁22、互斥条件23、虚拟设备,思考:,P175 17,23,26,