设备管理PPT学习.pptx

上传人:莉*** 文档编号:87529683 上传时间:2023-04-16 格式:PPTX 页数:101 大小:1.16MB
返回 下载 相关 举报
设备管理PPT学习.pptx_第1页
第1页 / 共101页
设备管理PPT学习.pptx_第2页
第2页 / 共101页
点击查看更多>>
资源描述

《设备管理PPT学习.pptx》由会员分享,可在线阅读,更多相关《设备管理PPT学习.pptx(101页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2023/3/307.1 7.1 概述 第1页/共101页2023/3/301、按传输速率分低速设备:每秒几个到数百字节。如Modem中速设备:每秒数千到数万字节。如打印机高速设备:每秒数百K到数兆。如磁盘、磁带第2页/共101页2023/3/302、按信息交换的单位分类字符设备:I/O传输的单位是字节,如打印机、modem等。特征:速率较低、中断驱动。块设备:I/O传输的单位是块,如磁盘、磁带。特征:速率高(几兆)、可随机访问任一块、DMA方式驱动。第3页/共101页2023/3/30 3.按资源管理方式分类独占型设备:在任一段时间内最多有一个进程占用它,字符设备及磁带机属独占型设备。即临界

2、资源。共享型设备:多个进程对它的访问可以交叉进行,除磁带机外的块设备属共享设备虚拟设备:在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚拟设备第4页/共101页2023/3/301、设备独立性所谓设备独立性:用户在编制程序时,使用逻辑设备名,由系统实现从逻辑设备到物理设备(实际设备)的转换。用户能独立于具体物理设备而方便的使用设备。第5页/共101页2023/3/30两种类型的设备独立性独立于同一类设备中的某台具体设备。如果一个系统中有若干台相同的设备,用户编程时不指定使用哪一个具体的设备,而仅说明要使用哪一类设备,系统根据当前这一类设备的具体状

3、况给用户分配一台具体的设备。用户不用关心他所使用的到底是哪一台设备。第6页/共101页2023/3/30 独立于不同类型的设备。例如有一程序要求输入信息,可以从各种不同类型的输入设备上给程序输入数据,则称该程序是独立于不同类型的输入设备的。又如在MS-DOS系统中,程序的I/O操作不必指出在哪台设备上进行,一般情况下是从键盘上输入数据,而在显示器上输出数据。但用户可以做一次联机操作命令Ctrl+P,则输出数据可以在打印机上打印出来。第7页/共101页2023/3/302、提高设备利用率提高设备的使用效率是操作系统设备管理的重要目标。为达到此目标除了要合理分配和使用外部设备外,还应努力提高设备同

4、CPU的并行程度。与此有关的技术有:通道技术和缓冲技术。第8页/共101页2023/3/30I/O系统概述I/O特点 CPU与I/O的速度差别很大,导致如下情况I/O的性能成为系统性能的瓶颈操作系统变得庞大、复杂I/O 设备种类繁多、物理特性差距甚大数据传输率数据表示方式传输单位出错条件 I/O技术实用是学习和深入理解OS的有效途径快 第9页/共101页2023/3/303、设备的统一管理外设的种类繁多,特性各异,主要差别反映在以下几个方面:速度:不同的设备处理和传递信息的速度差别甚大,如键盘每秒钟只能处理几个或几十个字符,而磁盘的处理速度可达几十MB/S传递单位:有的设备以字符为单位传递信息

5、,如键盘。有的以字符块为单位传递信息,如磁盘。第10页/共101页2023/3/30操作方法和特性:各种设备都有自己的特性和操作方法,如卡片机中的卡片不能倒退,磁带机可反绕,磁盘可随机存取。出错条件:各种设备的出错条件不同,有的可能产生奇偶错,打印机可能产生无纸错等。第11页/共101页2023/3/30设备管理程序力图隐蔽上述各种设备的差别,向用户提供统一的设备使用接口,这会给系统的设计带来困难,但方便了用户。如UNIX系统把外设作为特别文件处理,把设备看作文件,用操作文件的方法来操作设备,这极大地方便了用户。这种设备管理方法无疑是个重大的突破。第12页/共101页2023/3/301、监视

6、系统中所有设备的状态一个计算机系统中存在着许多设备,在系统运行期间这些设备都在处理各自所承担的工作,并处于各种不同的状态,系统要有效地管理和使用这些设备就必须监视它们的工作状态。系统为每个设备设置设备控制块DCB结构,在DCB中登记了设备的状态信息,系统是经过对DCB的查询来监视设备的活动的。第13页/共101页2023/3/302、设备的分配在多用户或多进程的环境中,每个用户在完成各自的任务时总是要使用外设,为用户或进程分配设备是设备管理的主要功能之一。设备分配包括:设备分配策略、分配的方式、分配技术和选择用户的算法。第14页/共101页2023/3/303、I/O控制 I/O控制是设备管理

7、的另一功能,它包括设备驱动和设备中断处理。第15页/共101页2023/3/30I/O硬件组成原理I/O系统层次I/O硬件组成 控制器+设备本身 I/O设备(机械部分)设备控制器(电子部分)第16页/共101页2023/3/30I/O硬件组成原理设备控制器 插在电路板上的一块芯片或一组芯片 主要功能接收OS的命令(如,从设备读数据,并完成数据的处理)实际I/O设备本身 设备接口与设备控制器接口实际设备接口隐藏在设备控制器中OS看到的是控制器的接口第17页/共101页2023/3/30I/O硬件组成原理设备控制器Device Controller、adapter设备与主机间的连接和通信数模信号的

8、转换命令的接收和识别数据的交换设备状态的理解和报告两类接口(CPU/设备)第18页/共101页2023/3/30设备控制块(DCB)DCB是设备管理的重要数据结构,在这个结构中较全面地反映了每台设备的特性、连接和使用的状态等信息。当一台设备进入系统时必须创立相应的DCB第19页/共101页2023/3/30DCBDCB的内容设备标识符:系统有许多设备,为区别起见为每台设备取个名,这个名叫设备标识符。设备属性:反映设备的相应特性和类型设备I/O总线地址:设备和CPU是通过I/O总线连接起来的,它在总线上有个地址。设备状态:指设备当时所处的状态。等待队列指针:等待使用该设备的进程组成等待队列,这里

9、存放等待队列的队首指针。第20页/共101页2023/3/30图示第21页/共101页2023/3/307.2 I/O控制方式I/O方式 中断方式 方式 第22页/共101页2023/3/30I/OI/O方式早期,I/O控制器是OS同硬件之间的接口。它有两个寄存器:数据缓冲寄存器、控制寄存器。控制寄存器有几个重要的信息位:启动位、完成位、忙位。CPU外部设备控制逻辑电路控制寄存器I/O控制器数据寄存器第23页/共101页2023/3/30工作过程以输入为例1、把启动位置12、反复测试完成位,为0转2,为1转33、把数据从数据缓冲区中读走。浪费大量CPU时间第24页/共101页2023/3/30

10、中断方式I/O控制器能发中断。工作过程:1、把启动位置1,本进程(A)变为等待状态,转进程调度,调度另一进程B。2、输入完成时,控制器发出中断,中断B,通过中断进入中断处理程序。3、在中断处理程序中把数据缓冲寄存器中的数取走,放入内存特定位置M,唤醒等待进程A,中断返回到B的断点继续执行。4、在以后的某个时刻OS调度要求输入的进程A。A从M取数处理。第25页/共101页2023/3/30分析同前相比,CPU利用率大大提高。缺点:每台设备每输入输出一个字节的数据都有一次中断。如果设备较多时,中断次数会很多,使CPU的计算时间大大减少。为减少中断对CPU造成的负担,可采用DMA方式和通道方式。第2

11、6页/共101页2023/3/30方式j j控制器功能更强,除有中断功能外,还有一个DMA控制机构。在DMA控制器的控制下,设备同主存之间可成批交换数据,不用CPU干预。第27页/共101页2023/3/30工作过程1、当进程要求输入时,把要求传送的内存始址(M)和要传的字节数送入DMA的内存地址寄存器和传送字数寄存器2、把启动位置1。设备开始工作。进程(A)挂起。调度另一进程(B)3、一批数据输入完成后,DMA中断B,转向中断处理程序。4、中断处理程序唤醒A,返回B的断点继续执行。5、以后OS调度A运行时,A从M处取数据处理。第28页/共101页2023/3/30DMA方式与中断的主要区别中

12、断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理 DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理 大大减少了CPU进行中断处理的次数中断方式的数据传送是由CPU控制完成的 而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的第29页/共101页2023/3/30CPU向控制器发出启动DMA通知和有关参数控制器向内存发出询问请求访问内存(读、写)计数器减1结束否发中断NYDMA的实现流程的实现流程第30页/共101页2023/3/30通道方式 I/O系统结构在大型计算机系统中较为典型的I/O系统结构是主机、通道、控制器和外部设备。第31页/共101页2

13、023/3/30 外部设备通常由机械的和电子的两部分组成,电子部分构成控制器,也叫适配器。一个控制器可交替地控制几台同类设备,例如一个磁盘控制器可以控制两台磁盘驱动器。在没有通道的计算机系统中,中央处理机是通过控制器控制I/O操作的。第32页/共101页2023/3/301、总线的基本概念:在计算机系统内各种子系统,如CPU、内存、I/O设备等之间,构建公用的信号或数据传输通道 这种可共享的传输通道称为总线总线技术第33页/共101页2023/3/30总线的分类CPU-内存总线I/O总线数据总线地址总线控制总线(非本课程范围)2、总线的分类、总线的分类第34页/共101页2023/3/30微型

14、计算机总线的种类和发展PCXT总线ISA总线MCA总线EISA总线VESA总线 PCI总线USB总线.(过时)1394总线SCSI总线第35页/共101页2023/3/30ISA(工业标准结构)ISA基于PCAT总线,是由IEEE(美国电气电子工程师协会)1987年正式确立的标准。ISA槽是一个黑色的6236线插槽。ISA工作频率定在8.33MHz,数据传输率为8.33MBs。随着系统工作频率的迅速提高,其配用的扩展卡也逐渐被淘汰,现在最新的主板已开始取消ISA槽。第36页/共101页2023/3/30PCI(外围部件互连)1993年Intel发表PCI2.0版,PCI开始走进主板。PCI有3

15、2位和64位两种,32位PCI槽124线,64位槽188线,目前常用的是32位插槽。PCI槽的时钟频率为33.3MHz,32位PCI的数据传输率为133MBs,大大高于ISA。所以PCI问世后迅速成了扩展总线的主流,流行的扩展卡也都转移到PCI上,如显示卡、声卡、网卡、MODEM卡等等。第37页/共101页2023/3/30AGP(加速图形端口)1996年Intel公司在PCI的基础上专为显示卡接口提出AGP标准。AGP使用32位数据总线,工作频率为66.6MHzAGP 1x的数据传输率可达266MB/s,AGP 2x在一个时钟周期的上升沿和下降沿各传输一次资料,其数据传输率可达到533MBs

16、,而AGP 4x的理论传输率为1.066GBs。第38页/共101页2023/3/30 为使中央处理机从繁忙的I/O处理中摆脱出来,现代大、中型计算机系统中设置了专门的处理I/O操作的处理机,并把这种处理机称为通道。通道在CPU的控制下独立地执行通道程序,对外部设备的I/O操作进行控制,以实现内存与外设之间成批的数据交换。通道=I/O处理机2 2、通道概念第39页/共101页2023/3/30 当完成CPU交给的任务后,向CPU发出中断信号,请求CPU的处理。这样就使得CPU基本上摆脱了I/O操作的处理工作,提高了CPU与设备之间的并行程序,从而提高了整个计算机系统的效率。第40页/共101页

17、2023/3/303 3、通道指令和通道程序 通道有它自己的指令系统,用这些指令编写的程序叫通道程序,通道只能执行通道程序,不可能执行用户进程。通道程序保存在内存中 通道程序是由通道指令组成,一个通道可以分时的方式执行几道程序。每道程序控制一台外部设备,因此每道通道程序称为子通道。第41页/共101页2023/3/304 4、通道的种类字节多路通道:字节多路通道是以字节为基本传输单位,当一子通道控制的某台外设交换了一个字节后,就转向下一个子通道,以控制下一台设备传送一个字节。这就实现了子通道的循环轮转,以达到多路控制的目的,字节多路通道主要用来控制低速、并且以字节为基本传送单位的设备。如打印机

18、。第42页/共101页2023/3/30第43页/共101页2023/3/30数据选择通道:这种通道一次执行一个通道程序,控制一台设备连续地传送一批数据,当一个程序执行完后,才转向下一个程序,它的优点是传输速度高,缺点是一次只能控制一台设备进行I/O操作。它主要用来控制高速外设。如磁盘。选择通道第44页/共101页2023/3/30 数据多路通道:这种通道是上述两种通道的折中,可以分时的方式执行多道程序,每道程序可传送一组数据。它主要用于中速设备的控制。如磁带机。在一大型系统中可以同时存在这三种类型的通道以便控制各种不同类型的设备。第45页/共101页2023/3/305 5、通道的工作过程某

19、进程在运行过程中,若提出了I/O请求,则通过系统调用进入操作系统,系统首先为I/O操作分配通道和外设,然后按I/O请求生成通道程序并存入内存,把起始地址送入通道的首地址寄存器(CAW),接着CPU发出启动通道的指令。第46页/共101页2023/3/30中央处理机启动通道后,通道的工作过程为:根 据 CAW,从 内 存 取 出 通 道 指 令,送 入 通 道 控 制 字 寄 存 器(CCW),并修改CAW,使其指向下一条通道指令。执行CCW中的通道指令,进行实际的I/O操作,执行完毕后,如果还有下一条指令,则返回前一步,否则转下一步。发出中断信号通知CPU通道程序已执行完成。第47页/共101

20、页2023/3/306 6、瓶颈问题 产生的原因:通道不足解决问题的方法:增加设备到主机之间的通路第48页/共101页2023/3/307.3 7.3 缓冲技术第49页/共101页2023/3/30缓冲技术为什么要缓冲?(以字符设备为例)a)问题:对于每个到来的字符,都必须启动用户进程 b)改进:在用户空间提供一个包含n个字符的缓冲区,并执行读入n个字符的读操作 b)问题:当一个字符到来时,若缓冲区被分页而调出内存,则必须锁定,过多锁定带来可用页面数降低,系统性能下降 c)改进:内核空间创建一个缓冲区第50页/共101页2023/3/30缓冲技术缓冲技术 缓和CPU与I/O设备之间速度的不匹配

21、矛盾 提高CPU与I/O设备之间的并行程度 减少对CPU的中断频率,放宽对中断响应时间的限制企图将数据传输速度比较低的I/O设备(如,文件存储设备)改造成存取速度比较高的存储空间 代价:占用一部分内存空间用以构成缓冲存储区以及存放缓存管理程序 以内存空间换取时间的技术(借用了硬件设计中的高速缓冲存储器的思想)第51页/共101页2023/3/30缓冲技术缓存技术的效果取决于 在一段时间内各进程对同一信息存储的时间间隔很短,那么缓存中信息被重用的可能性就会增加,此时缓存技术的效果就显著 缓冲存储区的数量(在内存容量允许的情况下,适当增加数量效果会提高)缓冲管理算法(UNIX LRU算法)物理块读

22、、写技术(读同步,预先读/读异步,写异步/延迟写)第52页/共101页2023/3/30缓冲技术缓冲区的分类 按设置方式硬缓冲:设备中设置,由硬件实现软缓冲:内存中设置,作为数据缓冲 按使用方式专用缓冲:专为某一设备而设置,它为某设备所专用,如键盘缓冲区通用缓冲:为多个设备所共享 按组织方式单缓冲双缓冲循环缓冲缓冲池内核空间中的缓冲区第53页/共101页2023/3/30缓冲技术实现 预先读 延迟写单缓冲双缓冲第54页/共101页2023/3/301、单缓冲最简单的一种缓冲形式。当进程发出一I/O请求时,OS为之分配一缓冲区。对于输入:设备先将数据送入缓冲区,OS再将数据传给进程。对于输出:进

23、程先将数据传入缓冲区,OS再将数据送出到设备。第55页/共101页2023/3/30思考单缓冲能加快进程的执行速度吗?第56页/共101页2023/3/302 2、双缓冲技术为了加快输入输出速度,引入双缓冲技术。原理:设置两个缓冲区buf1和buf2。读入数据时,首先输入设备向buf1填入数据,然后进程从buf1提取数据,在进程从buf1提取数据的同时。输入设备向buf2中填数据。当buf取空时,进程又从buf2中提取数据,与此同时输入设备向buf1填数。如此交替使用两个缓冲区,使CPU和设备的并行操作的程度进一步提高。第57页/共101页2023/3/303 3 环形缓冲技术当生产和消费数据

24、的速度基本匹配时,双缓冲能获得较好效果。但若两者速度相差甚远时,效果不太理想。但随着缓冲区的数量增加,使情况有所改善。因此引入环形缓冲技术。第58页/共101页2023/3/30环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来。系统中有个缓冲区链首指针,指向第一个缓冲区,每个缓冲区中有一个指向下一个缓冲区的指针,最后一个缓冲区中的指针指向第一个缓冲区,从而形成环形缓冲区链。系统可循环使用这些缓冲区。环形缓冲区用于输入(输出)时,还要有两个指针IN和OUT。第59页/共101页2023/3/30IN指向可接收数据的空闲缓冲区的首址,OUT指针指向装好数据且未取走的

25、缓冲区首址。系统初启时,指针被初始化为IN和OUT与首指针START相等,即START=IN=OUT。对于输入信息而言,设备接收信息时,信息输入到IN指向的缓冲区,当一个缓冲区装满后,IN指针指向下一个空闲缓冲区;当从缓冲区中提取信息时,提取由OUT指向的缓冲区中的信息,提取完毕,将OUT指针指向下一个装满信息的缓冲区。第60页/共101页2023/3/30系统必须考虑到这种方案的约束条件,即INOUT(初始状态除外)。从设备输入信息的操作和提取信息的操作共用环形缓冲时有一定的同步关系:OUTIN。当OUT到达IN时,处理数据的进程必等待。由于该方案是个环形链;故当IN指针达到最后一个缓冲区时

26、,它将指向START指针当IN到达OUT时,从设备输入信息的操作也必须等待。第61页/共101页2023/3/304 4、缓冲池环形缓冲区一般用于特定的进程,属于专用缓冲区,当系统较大时,将会有许多这样的环形缓冲区,这不仅要消耗大量的内存空间,利用率也不高。为了提高缓冲区的利用率,目前广泛流行公用缓冲池,池中的缓冲区可供多个进程共享。缓冲池由内存中一组大小相等的缓冲区组成,池中各缓冲区的大小与用于I/O的设备的基本信息单位相似,缓冲池属于系统资源,由系统进行管理。缓冲池中各缓冲区可用于输出信息,也可用于输入信息,并可根据需要组成各种缓冲区队列。第62页/共101页2023/3/30 缓冲池 收

27、容输入 提取输入 提取输出 收容输出hinsoutsinhout 用 户 程 序第63页/共101页2023/3/307.7.4 4 设 备 分 配7.4.1 设备分配方式7.4.2 设备分配算法设备分配中的安全性设备分配的程序7.4.5 设备分配技术第64页/共101页2023/3/307.7.4.1 4.1 设备分配方式静态分配:在作业级进行的,当一个作业运行之前由系统一次分配满足需要的全部设备,这些设备一直为该作业占用,直到作业撤消。这种分配不会出现死锁,但设备的利用效率较低。第65页/共101页2023/3/30动态分配在进程运行的过程中进行的,当进程需要使用设备时,通过系统调用命令向

28、系统提出设备请求,系统按一定的分配策略给进程分配所需设备,一旦使用完毕立即释放。显然这种分配方式有利于提高设备的使用效率,但会出现死锁,这是应力求避免的。第66页/共101页2023/3/307.7.4.2 4.2 设备分配算法1、先请求先服务2、优先级高的优先服务第67页/共101页2023/3/30设备分配中的安全性安全分配方式 每当进程发出一个I/O请求后,便进入阻塞状态,直到其I/O操作完成时才被唤醒。当它运行时不保持任何设备资源,打破了产生死锁一个必要条件“请求和保持”,所以这种分配方式是安全的。但是这种分配算法使得CPU与I/O设备串行工作,设备的利用率比较低。不安全分配方式 进程

29、发出一个I/O请求后仍可以继续运行,需要时还可以发第二个I/O请求、第三个I/O请求。只有当进程所请求的设备已被另一个进程占用时,进程才进入阻塞状态。这种分配方式是不安全,因为它可能具备“请求和保持”条件,从而可能造成系统死锁。第68页/共101页2023/3/30设备分配程序设备分配程序设备分配程序负责向对系统提出I/O请求的进程分配设备,及其相应的控制器和通道。1.设备分配中数据结构数据结构有:系统设备表(SDT)、设备控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)。每个表的具体内容如下图所示。在整个系统中,有一张系统设备表(SDT),用于记录系统中全部设备的信息。每个

30、设备占一个表目,其中包括设备类型、设备标识符、设备控制表指针及设备驱动程序的入口地址等表项。第69页/共101页2023/3/30系统为每一个设备都配置了一张设备控制表(DCT),用于记录该设备的情况。表中除了有用于指示设备类型的字段和设备标识符字段外,还应有下列字段:设备队列的队首指针:凡因请求本设备而未得到满足的进程,其PCB都应按照一定的策略排成一个队列,称为设备请求队列或简称为设备队列。其队首指针指向队首PCB,在有的系统中还设置了队尾指针。设备状态:当设备自身处于“忙”状态时,将设备的忙标志置“l”。若与该设备相连接的控制器或通道处于“忙”状态,而不能启动该设备,则将设备的等待标志置

31、“l”。第70页/共101页2023/3/30设备分配程序-1COCT表指针:该指针指向与该设备相连接的控制器的控制表。在具有多条通路的情况下,一个设备可与多个控制器相连接。此时,在DCT中应设置多个控制器表指针。重复执行次数:外部设备在传送数据时,若发生信息传送错误,系统并不立即认为传送失败,而是允许它重新传送。只要在规定的重复次数或时间内恢复正常传送,则仍认为传送成功,否则才认为传送失败。第71页/共101页2023/3/30设备分配的数据结构图 SDT集合 SDT DCT集合 DCTCOCT集合 COCT CHCT集合 CHCT表目1表目i设备类型设备标识符进程标识符DCT表指针驱动程序

32、入口地址表目1表目i设备类型设备标识符设备状态(等待/不等待,忙/闲)COCT表指针重复执行的次数或时间设备队列的队首指针设备队列的队尾指针表目1表目i控制器标识符控制器状态(忙/闲)CHCT表指针控制器队列的队首指针控制器队列的队尾指针表目1表目i通道标识符通道状态(忙/闲)COCT表指针通道队列的队首指针通道队列的队尾指针第72页/共101页2023/3/30设备分配程序-22。设备分配的流程对于具有单通道的系统,则当进程提出I/O请求后,系统进行设备分配的流程图如下图。3。设备分配程序的改进 为了获得设备的独立性,进程应用逻辑设备名请求I/O。这样,系统首先从 SDT中找出第一个该类设备

33、的DCT。如忙,则查找第二个该类设备的DCT,当所有该类设备都忙时,才把进程挂在该类设备的等待队列中。实际上,系统为了提高可靠性和灵活性,通常采用多通路的I/O系统结构。此时对多个控制器和通道的分配,必须查找所有的控制器和通道,才能决定是否将该进程挂起。第73页/共101页2023/3/30 单通道系统的设备分配流程 若忙 不忙 不安全 安全 不忙 忙 忙 不忙 进程P提出所需的I/O设备根据物理设备名,从SDT中找出该设备的DCT由DCT的设备状态字段,检查该设备是否忙?将该进程的PCB插入到该设备的等待队列中检查本次设备分配是否安全性?将此设备分配给该进程从其DCT中找出与该设备连接的控制

34、器的COCT,检查该控制器是否忙?将该进程的PCB插入到该控制器的的等待队列中将该控制器分配给进程从COCT中找到与该控制器连接的通道的CHCT,检查该通道是否忙?将该进程的PCB插入到该通道的的等待队列中将该通道分配给进程至此,设备、控制器和通道三者都已分配成功启动I/O设备,进行具体的I/O操作第74页/共101页2023/3/307.7.4.5 4.5 设备分配技术根据设备的特性把设备分成独占设备、共享设备和虚拟设备三种。针对这三种设备采用三种分配技术:独享分配共享分配虚拟分配第75页/共101页2023/3/30独享分配独占型设备有行打印机,键盘,显示器。磁带机可作为独占设备,也可作为

35、共享设备。若对这些设备不采用独享分配就会造成混乱。因此对独占设备一般采用独享分配,即当进程申请独占设备时,系统把设备分配给这个进程,直到进程释放设备。第76页/共101页2023/3/30共享分配共享设备包括磁盘,磁带和磁鼓。对这类设备的分配是采用动态分配的方式进行的,当一个进程要请求某个设备时,系统按照某种算法立即分配相应的设备给请求者,请求者使用完后立即释放。第77页/共101页2023/3/30虚拟分配系统中独占设备的数量总是有限的,这些独占设备一旦分配给某个进程往往只有很少时间在工作,许多时间一直处于空闲状态。而别的进程又因得不到相应的设备而不能运行,因此严重地影响到整个计算机系统的效

36、率。从另一个角度来说,独占设备一般是低速的,若采用联机操作,也会增加进程的运行时间,影响计算机系统的效率。为提高计算机系统的效率,提出了在高速共享设备上模拟低速设备功能的技术,称为虚拟设备技术。第78页/共101页2023/3/30虚拟分配是针对虚拟设备而言的。其实现的过程是:当用户(或进程)申请独占设备时。系统给它分配共享设备的一部分存储空间。当程序要与设备交换信息时,系统就把要交换的信息存放在这部分存储空间。在适当的时候再将存储空间的信息传输到相应的设备上去处理。第79页/共101页2023/3/30如系统打印信息时,就把要打印的信息送到某个存储空间中去,然后由系统在适当时机把存储空间上的

37、信息送到打印机上打印出来。这个时机可能是打印机空闲或打印机完成了一用户的信息输出之后。通常人们把共享设备中代替独占设备的那部分存储空间和相应的控制结构称为虚拟设备,并把对这类设备的分配称作虚拟分配。第80页/共101页2023/3/30SPOOLing系统Simultaneaus Periphernal Operations On-Line(外部设备同时联机操作)。在单道批处理时期,用脱机I/O可以提高CPU利用率。多道出现后可以利用一道程序来模拟脱机I/O中的外围机,这样可实现在主机控制下的脱机I/O功能。我们把这种在联机情况下实现的同时外围操作称为SPOOLing,也称为假脱机操作。第81

38、页/共101页2023/3/30SPOOLing系统的组成1、输入井和输出井2、输入缓冲区和输出缓冲区3、输入进程和输出进程第82页/共101页2023/3/30SPOOLing系统的组成第83页/共101页2023/3/30SPOOLing系统工作原理作业执行前预先将程序和数据输入到输入井中作业运行后,使用数据时,从输入井中取出作业执行不必直接启动外设输出数据,只需将这些数据写入输出井中作业全部运行完毕,再由外设输出全部数据和信息好处:实现了对作业输入、组织调度和输出的统一管理使外设在CPU直接控制下,与CPU并行工作(假脱机)第84页/共101页2023/3/30输入装置输入装置通道通道输

39、出装置输出装置通 道 主机系统输入管 输出管理模块 理模块外 存输入井 输出井 SPOOLing系统图示第85页/共101页2023/3/30SPOOLing系统的特点1、提高了I/O速度2、将独占设备改造为共享设备3、实现了虚拟设备功能第86页/共101页2023/3/307.5 设备处理 设备处理程序又称设备驱动程序,它是I/O进程与设备控制器之间的通信程序(1)设备处理程序的功能和处理方式1设备驱动程序的功能接收上层软件发来的抽象要求(如read命令等),再把它转换成具体要求。第87页/共101页2023/3/30检查用户I/O请求的合法性,了解I/O设备的状态,设置工作方式。对于设置有

40、通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。由驱动程序向设备控制器发出I/O命令,启动分配到的I/O设备,完成指定的I/O操作。及时响应由控制器或通道发来的中断请求,并根据其中断调用相应的中断处理程序进行处理。第88页/共101页2023/3/302 设备处理方式 根据在设备处理时是否设置进程,以及设置什么样的进程,设备处理方式可分为以下三类:为每一类设备设置一个I/O进程,它专门执行这类设备的I/O操作。比如为所有的交互终端设置一个交互式终端进程。整个系统中设置一个I/O进程,全面负责系统的数据传送工作,I/O请求处理模块,设备分配模块以及缓冲器管理模块和中断

41、原因分析、中断处理模块和后述的设备驱动模块都是I/O进程的一部分。由于现代计算机系统设备十分复杂,I/O负担很重,因此,又可把I/O进程分为输入进程和输出进程。第89页/共101页2023/3/30不设置专门的设备处理进程,而是只为各类设备设置相应的设备处理程序,供用户进程和系统进程调用。在UNIX系统中,每类设备都有一个驱动程序,用它来控制该类设备。任何一个驱动程序通常都包含了用于执行不同操作的多个函数,如打开、关闭、启动设备、读和写等函数。为使核心能方便地转向各函数,系统为每类设备提供了一个设备开关表,其中有该类设备的各函数的入口地址,它是核心与驱动的接口。如下图所示。第90页/共101页

42、2023/3/30设备开关表是系统调用和驱动程序间的接口 Open close Open close read write ioctl mount unmount read write 字符设备开关表高速缓冲调用 块设备开关表Open close read write ioctl 驱动程序设备中断处理程序Open close strategy 驱动程序设备中断处理程序 中断向量 中断向量返7第91页/共101页2023/3/30(2)设备处理程序的处理过程 每类设备有自己的设备处理程序,但大体上它们都再分成两部分,主要用于启动设备的设备驱动程序和负责处理I/O完成工作的设备中断处理程序。1设备

43、驱动程序的处理过程将用户和上层软件对设备控制的抽象要求转换成对设备的具体要求,如对抽象要求的盘块号转换为磁盘的盘面、磁道及扇区。第92页/共101页2023/3/30检查I/O请求的合理性。读出和检查设备的状态,确保设备处于就绪态。传送必要的参数,如传送的字节数,数据在主存的首址等。工作方式的设置。启动I/O设备,并检查启动是否成功,如成功则将控制返回给I/O控制系统,在I/O设备忙于传送数据时,该用户进程把自己阻塞,直至中断到来才将它唤醒,而CPU可干别的事。第93页/共101页2023/3/302中断处理程序的处理过程 在设备控制器控制下,I/O设备完成了I/O操作后,控制器(或通道)便向

44、CPU发出一中断请求,CPU响应后便转向中断处理程序,中断处理程序大致包含以下几步:在设置I/O进程时,当中断处理程序开始执行时,都必须去唤醒阻塞的驱动(程序)进程。在采用信号量机制时,可通过执行V操作,将处于阻塞状态的驱动(程序)进程唤醒。保护被中断进程的CPU现场。第94页/共101页2023/3/30分析中断原因,转入相应的设备中断处理程序。进程中断处理,判别此次I/O完成是正常结束中断还是异常结束中断,分别作相应处理。恢复被中断进程或由调度程序选中的进程的CPU的现场。返回被中断的进程,或进入新选中的进程继续运行。在UNIX中将以上对各类设备处理相同的部分集中起来,形成中断总控程序,每

45、当要进行中断处理时,都要首先进入中断总控程序,再按需要转入不同的设备处理程序。第95页/共101页2023/3/30习题1在I/O设备控制的发展过程中,最主要的推动因素是A,提高I/O速度和设备利用率,在OS中主要依靠B功能。使用户所编制的程序与实际使用的物理设备无关是由C功能实现的。A:(1)提高资源利用率;(2)提高系统吞吐量;(3)减少主机对I/O控制的干预;(4)提高CPU与I/O设备的并行操作程度。B,C:(1)设备分配;(2)缓冲管理;(3)设备管理;(4)设备独立性;(5)虚拟设备。2通道是一种特殊的A,具有B能力。A:(1)I/O 设备;(2)设备控制器;(3)处理机;(4)I

46、/O控制器。B:(1)执行I/O指令集;(2)执行CPU指令集;(3)传输I/O命令;(4)运行I/O进程。(解)第96页/共101页2023/3/30习题-12假定把磁盘上一个数据块中信息输入到一单缓冲的时间T为100us,将缓冲区中数据传送到用户区的时间M为50us,而CPU对这一块数据进行计算的时间C为50us,这样,系统对每一块数据的处理时间为A;如果将单缓冲改为双缓冲,则系统对每一块数据的处理时间为B。A,B:(1)50us;(2)100us;(3)150us;(4)200us;(5)250us。3下面关于设备独立性的论述中,第A条是正确的论述。(1)设备独立性是I/O设备具有独立执

47、行I/O功能的一种特性。(2)设备独立性是指用户程序独立于具体使用的物理设备的一种特性。(3)设备独立性是指能独立实现设备共享的一种特性。(4)设备独立性是指设备驱动独立于具体使用的物理设备的一种特性。(解)第97页/共101页2023/3/30习题-25下面关于虚拟设备的论述中,第A条是正确的论述。(1)虚拟设备是指允许用户使用比系统中具有的物理设备更多的设备。(2)虚拟设备是指允许用户以标准化方式来使用物理设备。(3)虚拟设备是把一个物理设备变换成多个对应的逻辑设备。(4)虚拟设备是指允许用户程序不必全部装入内存便可使用系统中的设备。第98页/共101页2023/3/306下列有关SPOO

48、Ling系统的论述中,第A和第B条是正确的论述 。(1)构成SPOOLing系统的基本条件,是具有外围输入机与外围输出机。(2)构成SPOOLing系统的基本条件,是只要具有大容量、高速硬盘作为输入井与输出井。(3)只要操作系统中采用了多道程序设计技术,就可以构成SPOOLing系统。第99页/共101页2023/3/30习题-3(4)SPOOLing系统是建立在分时系统中。(5)SPOOLing系统是虚拟存储技术的体现。(6)SPOOLing系统是在用户程序要读取数据时起动输入进程输入数据。(7)当输出设备忙时,SPOOLing系统中的用户程序暂停执行,待I/O 空闲时再被唤醒,去执行输出操作。(8)SPOOLing系统实现了对I/O设备的虚拟,只要输入设备空闲,SPOOLing可预先将输入数据从设备传输到输入井中供用户程序随时读取。(9)在SPOOLing系统中,用户程序可以随时将输出数据送到输出井中,待输出设备空闲时再执行数据输出操作。(解)7.试述多通路I/O系统设备管理中数据结构。(解)第100页/共101页2023/3/30第七章 设备管理 感谢您的观看!第101页/共101页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁