《第七章设备管理ppt课件.ppt》由会员分享,可在线阅读,更多相关《第七章设备管理ppt课件.ppt(62页珍藏版)》请在三一办公上搜索。
1、1,第七章 设备管理,2,第一节 概述,I/0管理负责数据传输控制和对计算机系统中除CPU、主存以外其他设备的管理。通常把I/O设备及其接口线路、控制部件、通道和管理软件称为I/O系统,把主存和外围设备的介质间的信息传送操作称为输入输出操作。分类 存储设备:块设备 输入设备:字符设备 输出设备:字符设备 顺序存取存储设备 直接存取存储设备,3,不同外部设备的主要差别所在:1、数据传输率:从每秒几十个字符到每秒几个KB,相差几万倍。2、数据表示方式:不同设备采用不同字符表和奇偶校验码。3、传输单位:慢速设备以字符为单位,快速设备以块为单位,可相差几千倍。4、出错条件:错误的性质、形式、后果、报错
2、方式、应对措施都不一样。设备管理是操作系统各层中最庞杂最琐碎的部分。,4,设备管理应具有的功能,1、外围设备中断处理2、缓冲区管理3、外围设备的登记和使用情况跟踪以及分配和回收4、外围设备驱动调度5、虚拟设备及其实现,5,设备管理的目标,1、提高设备的使用效率2、设备独立性3、设备处理的一致性4、字符代码的独立性,6,提高设备的使用效率,并行性,实现设备的并行操作:使设备传输与CPU运行高度重叠,设备与设备之间的运行也能高度重叠通道:控制一台或多台外部设备工作,负责外设和主存之间的信息传输,一旦启动就能独立于CPU运行,这样能使CPU和通道并行操作,而且CPU与各种外设也能并行工作。中断OS相
3、应模块,7,方便用户的使用,设备的独立性:地址:程序地址、内存地址设备名:逻辑设备名、物理设备名逻辑名:用户自己指定的,暂时的、可更改的。物理名:系统提供的设备的标准名称,永久的、不可更改的。设备独立性:用户在编制程序时所使用的设备与实际使用的设备无关。,8,设备独立性的实现,用户一级的实现:进行逻辑指派OS的I/O管理模块:建立逻辑设备名和物理设备名的联接,并且在进程请求设备时进行设备分配和设备传输控制。优点:使程序所对应的进程在执行中可利用该类设备中的任一台物理设备,而不必仅限于使用具体某一台。,9,字符代码的独立性,各种外部设备所使用的字符代码不同。 为了实现字符代码的独立性,要找出一种
4、所有字符码的统一内码表示形式(内部字符码),翻译机构,在I/O时执行相应的转换。能够处理多种字符码的外设,应该为每种字符代码提供各自的翻译机构。,10,设备管理的功能,1、状态跟踪 为了对设备实施分配和控制,系统在任何时间内都能快速的跟踪设备状态。DCB2、设备分配:作业级、进程级 分配策略、分配方式、分配技术和选择用户的算法 设备要物理的分配给进程(或作业),当它们使用完毕时系统要及时收回,以备重新分配。,11,3、设备控制 每个设备带有相应参数的特定的I/O指令,一些设备只响应某个命令子集。设备处理程序将通过控制命令映射或联系到每个设备的特定的指令,启动设备、然后进行中断处理、结束使用处理
5、。设备驱动、设备中断处理,12,数据结构,1、DCB:硬件特性、连接和使用情况。内存,在设备装入系统时创建。(1)设备标识符(2)设备属性:反映设备的相应特性和类型。传输速度、图形字符集(3)设备I/O总线地址:设备和CPU通过I/O总线连接起来,它在总线上有个地址。(4)设备状态;设备当前所处的状态。(5)等待队列指针:等待使用该设备的进程组成等待队列。首指针,13,2、设备开关表 使用DCB的动机之一是要为I/O管理提供一个不变的界面,每个I/O请求都要转换成调用一个能执行I/O操作的设备例程。通过操作码检索“设备开关表”以找到相应的设备例程地址,若不具备相应功能的设备在其例程地址上可以填
6、“-1”或统一的设备出错处理程序的入口地址。在设备开关表中设立该设备的DCB指针或设备DCB在系统总的DCB表中的编号。,14,I/O控制方式,I/O控制在计算机处理中具有重要的地位,为了有效的实现物理I/O操作,必须通过硬、软件技术,对CPU和I/O设备的职能进行合理分工,以调解系统性能和硬件成本之间的矛盾。 按照I/O控制器功能的强弱,以及和CPU之间联系方式的不同,可把I/O设备的控制方式分为四类,它们的主要差别是在于中央处理器和外围设备并行工作的方式不同、并行工作的程度不同。,15,1、询问方式(直接控制方式):I/O指令或询问指令测试一台设备的忙闲标志位,决定主存储器和外围设备是否交
7、换一个字符或一个字。一旦CPU启动I/O设备,便不再查询I/O的准备情况,终止了原程序的执行。CPU在反复查询过程中,浪费了宝贵的CPU时间;同时,I/O准备就绪后,CPU参与数据的传送工作,此时CPU也不能执行原程序。CPU和I/O实际上是串行的工作方式。2、中断方式:外围设备有了反映其状态的能力,仅当操作正常或异常结束时才中断CPU。实现了一定程度的并行操作。,16,3、DMA方式(Direct Memory Access) 中断方式消除了程序查询方式的忙式测试,提高了CPU资源的利用率,但是在响应中断请求后,必须停止现行程序转入中断处理程序并参与数据传输操作。若I/O设备能直接与主存交换
8、数据而不占用CPU,则CPU资源的利用率还可提高。DMA方式中,主存和I/O设备之间有一条数据通路,在主存和I/O设备之间成块的传送数据过程中,不需要CPU干预,实际操作由DMA直接执行完成。,17,4、通道方式 DMA方式与程序中断方式相比,又减少了CPU对I/O的干预,已经从字(字节)为单位的干预减少到以数据块为单位的干预。且每次CPU干预时,并不要做数据拷贝,仅仅需要发一条启动I/O指令,以及完成I/O结束中断处理。但,每发出一次I/O指令,只能读写一个数据块,如果用户希望一次读写多个离散的数据块,并能把它们传送到不同的主存区域,或相反时,则需要由CPU分别发出多启动I/O指令及进行多次
9、I/O中断处理才能完成。 通道方式是DMA方式的发展,它有进一步减少了CPU对I/O操作的干预,减少对多个不连续的数据块,而不是仅仅一个数据块,及有关管理和控制的干预。同时,为了获得中央处理器和外围设备之间更高的并行工作能力,也为了让种类繁多、物理特性各异的外围设备能以标准的接口连接到系统中,计算机系统引入了自成体系的通道结构。,18,DMA与中断的区别,1、中断方式在数据寄存器满时发出中断,要求CPU进行中断处理;DMA是在所要求传输的数据块全部结束以后要求CPU进行中断处理。2、中断方式的数据传送是在中断处理时由CPU控制器完成;DMA方式是在DMA控制器下、不经过CPU控制完成,从而排除
10、了CPU因并行设备过多而来不及处理导致数据不匹配丢失数据的现象。,19,第二节 通道,中断的缺陷:每传送一个信息单位(一个字节或一个字符块)就要插入一次中断处理,CPU时间浪费。通道:一种在大、中型机中专门处理I/O操作的处理机。它在CPU控制下独立的执行通道程序,对外部设备的I/O操作进行控制,以实现内存与外设之间成批的数据交换,当完成CPU交给的任务后,向CPU发出中断信号,请求CPU的处理。 使CPU基本上摆脱了I/O操作的处理工作,提高了CPU与设备之间的并行程度。 通道程序由通道指令组成,一个通道可以分时的方式执行几道程序。每道程序控制一台外部设备,每道通道程序称为子通道。即一个通道
11、由多个子通道组成。,20,具有通道装置的计算机,主机、通道、控制器和设备之间采用四级连接,实施三级控制。一个中央处理器可以连接若干个通道,一个通道可以连接若干控制器,一个控制器可以连接若干抬设备。中央处理器执行输入输出指令对通道实施控制,通道执行通道命令(CCW)对控制器实施控制,控制器发出动作序列对设备实施控制,设备执行相应的输入输出操作。 P115 图8.1,21,通道种类,1、字节多路通道 以字节为基本传输单位。当一个子通道控制的某台外部设备交换了一个字节后,就转向下一个子通道,以控制下一台设备传送一个字节。即子通道的顺序循环轮转。 主要用来控制低速、以字节为基本传输单位的设备。,22,
12、2、数据选择通道 一次执行一个通道程序,控制一台设备连续的传送一批数据,当一个程序执行完后,才转向下一个程序。 传输速度高。但一次只能控制一台设备进行I/O操作,主要用来提高外部设备的速度。,23,3、数据多路通道 结合上述两种的特点,可以分时的方式执行多道程序,每道程序可以传送一批数据。,24,通道命令和通道程序,通道的作用是帮助CPU处理I/O操作,又称为I/O处理机,它有自己的指令系统,I/O处理机的指令称通道命令CCW(Channel Command Word)用这些指令编写的程序叫通道程序。,25,I/O启动和结束,某进程在运行过程中,若提出I/O请求,则通过系统调用进入操作系统,系
13、统首先为I/O操作分配通道和外设,然后按I/O请求生成通道程序并存入内存,把起始地址送入首地址寄存器(CAW),接着CPU发出启动通道的指令,指令参数包括通道和设备的地址。,26,CPU启动通道后,通道的工作过程是:(1)根据CAW,从内存中取出通道指令,送入通道控制字寄存器(CCW),并修改CAW,使其指向下一条通道指令的地址。(2)执行CCW中的通道指令,进行实际的I/O操作,执行完毕后如果还有下一条指令,则返回(1),否则转(3)。(3)发中断信号通知CPU通道程序已经执行完毕。CPU只在I/O开始和结束时参与工作,从而达到CPU与通道和外设。,27,第三节 缓冲,缓冲的提出:1、速度的
14、不匹配:在两种不同速度的设备之间传输信息时平滑传输过程。2、系统负荷不均衡3、解决程序所请求的逻辑记录大小和设备的物理记录大小失配的问题。,28,buf,读入的物理记录,根据逻辑记录特性发送到用户进程存储区,buf,用户进程存储区取出逻辑记录,物理记录文件写到设备,读操作,写操作,空时等待,满时等待,29,常用缓冲技术,1、双缓冲思想:为I/O分配两个缓冲区buf1、buf2。在读入,输入设备先填满buf1,进程从buf1提取数据的同时,输入设备填满buf2。当buf1取空时,进程又从buf2取数据,同时输入设备填满buf1。等待时机?Buf1和buf2均为空,而进程又要取数据时。,30,环形
15、缓冲,标志,指针,标志,指针,标志,指针,标志,指针,标志,指针,buf1,START,OUT,IN,31,缓冲的类型,单缓冲:I/O设备和CPU之间的缓冲多缓冲:把多个缓冲区连接起来,其中一部分专门用来输入,另一部分专门用来输出。缓冲池双缓冲并行,32,START:IN:可接收数据的空闲缓冲区的首地址。OUT:装好数据且未取走的缓冲区首地址。,33,缓冲池,内存中一组大小相等的缓冲区组成,系统资源,互斥一个缓冲区由两部分组成:用来标识和管理该缓冲区的缓冲首部;用于存放数据的缓冲体,34,hin,hout,sin,sout,用户程序,收容输入,提取输入,收容输出,提取输出,缓 冲 池,35,第
16、四节 设备分配,主要功能:为进入系统的作业或运行的进程分配所需的设备。原则:充分发挥设备的使用效率,尽可能的让设备忙碌,但又要避免由于不合理的分配方法造成的进程死锁。静态分配、动态分配考虑因素:I/O设备的固有属性、I/O设备的分配算法、设备分配的安全性、设备无关性。,36,设备的分配与回收,设备特性:独占设备 共享设备 虚拟设备独享分配:让一个作业独占使用,往往需要一定程度的人工干涉,静态分配共享分配:虚拟分配:在一类物理设备上模拟另一类物理设备的技术,是将独占设备转换为共享设备的技术。,37,独占型设备的分配与回收,在一段时间内只能被一个进程占有。用户使用独占设备的活动: 申请,使用,使用
17、,使用,释放申请:分配给用户设备使用:系统将转到设备驱动模块完成一次I/O传输;释放:系统将设备从占有者手中收回。,38,通路分配算法,39,共享设备的分配与回收,活动:使用,使用,使用在某一时刻一般,共享设备的I/O请求来自文件系统、虚拟存储系统或输入输出管理程序共享设备使用的具体方法:(1)申请设备及通路。(2)I/O传输。启动设备,经由选定的通路传输一块数据。(3)去配设备及通路。当设备发出中断信号时,唤醒一个等待设备的进程;当控制器、通道发出中断信号时,唤醒所有相关的等待通路进程。,40,对于共享设备,不同进程的I/O传输以块为单位,并且交叉的进行。,41,SPOOLing,Simul
18、taneous Peripheral Operation On Line外设联机同时操作假脱机操作、虚拟设备技术解决:低速的独占设备采用联机操作,大大的延长了作业的执行时间,影响了计算机系统的效率。,42,在作业执行前,OS将作业信息通过独占设备预输入到磁盘上存放;此后,作业执行使用数据时不必再启动独占设备读入,而只要从磁盘输入数据就行。 作业执行时,也不必直接启动独占设备输出数据,而只要将作业输出到磁盘中;作业执行完毕后,由操作系统缓输出。输入井 输出井,43,44,SPOOLing的应用例子1,打印机的SPOOLing值班进程 创建一个称为值班(精灵)进程的特殊进程和一个叫做SPOOLin
19、g目录的特别目录。为了打印一个文件,一个进程首先生成要打印的整个文件,把它放入SPOOLing目录中。该值班进程是唯一获准使用打印机特殊文件的进程,用以打印SPOOLing目录里的文件。通过禁止用户对该特殊文件的直接使用,避免了长时间打开它却不做什么工作的问题。,45,SPOOLing的应用例子2,网络的SPOOLing值班进程 在通过网络传送文件时,常常利用网络精灵进程。为了把一个文件发往某处,用户首先把它送到网络SPOOLing目录里。然后,网络值班进程把它取出来并传递到目标地址。 Internet是SPOOLing文件传输的一个特殊应用,主要用作电子邮件系统。为了向Internet上的某
20、人投寄邮件,得调用电子邮件程序,把待发的信存放在SPOOLing目录中供以后传输。,46,SPOOLing的主要好处是提高设备利用率,缩短用户程序执行时间,而并不提高CPU利用率,其实是增加了CPU的负担。,47,设备分配策略,(1)先请求先分配 所有的I/O请求块(iorb)按照进程发出此I/O请求的先后次序链成该设备请求等待队列。(2)优先级高者优先分配 设备等待队列中的iorb按发出此iorb的进程的优先级高低进行排序。当分配设备时,从等待队列队首取下一项。,48,设备分配安全性,避免发生死锁独占设备共享设备虚拟设备,49,I/O控制,50,I/O控制方式,循环测试I/O:CPU利用率低
21、中断:每I/O一个数据,都要求中断CPU通道:设备和主存之间的信息交换不通过CPUDMA:Direct Memory Access,数据在内存与I/O设备间直接进行成块传输。,51,DMA,52,不使用DMA,控制器从驱动器串行的逐位读数据,直至完整的数据块到达控制器的内部缓冲区;进行检验和计算,以防止读错误发生;控制器引起一个中断;OS接到中断请求后,启动一个循环操作,一次一个字节或一次一个字的从控制器的缓冲区中读取数据块,在把它放入存储器中。,53,使用DMA,CPU只要提供被读取的块的磁盘地址、将要保存到的目标存储地址和待读取的字节数;在把整块数据从磁盘设备读进磁盘缓冲区,并且核准和校验
22、以后,控制器按照确定的存储器地址,把第一个字节送入主存;按指定的字节数进行数据传送,并且每当传送完一个字节后,将字节计数器值减1,直到计数器等于0为止;此时,控制器引发一个中断,通知OS操作已经完成。,54,I/O控制,功能:控制设备的I/O操作,实现用户的传输请求。1、用户进程的输入输出请求系统调用命令。内容:执行I/O操作的逻辑设备名:设备类号、设备号;传送数据的数量和数据存放的地址。DOIO(DEV,MODE,COUNT,ADDR),55,接口程序:将逻辑设备映射为相应的物理设备,检查命令的合法性。实现设备的转换;合法性检查;形成I/O请求块iorb。,56,DMA与中断的区别,1、中断
23、方式在数据寄存器满时发出中断,要求CPU进行中断处理;DMA是在所要求传输的数据块全部结束以后要求CPU进行中断处理2、中断方式的数据传送是在中断处理时由CPU控制器完成;DMA方式是在DMA控制器下、不经过CPU控制完成,从而排除了CPU因并行设备过多而来不及处理导致数据不匹配丢失数据的现象。,57,2设备驱动,由设备处理程序完成,直接控制设备进行运转。,58,3中断处理,设备启动开始工作后,在设备传输信息的过程中或传输结束时要求CPU帮助和干预时,通过进行I/O操作的设备向CPU发出中断信号结束中断处理:传输工作完成后的善后工作,相应的设备、控制器、通道置为空闲状态,同时检查IORB队列是否为空,若不空,则启动下一个I/O请求。错误中断处理:忽略错误,继续运行;发出错误信息,判断错误类别,向用户返回信息。,59,1、跟踪设备状态;2、设备分配;3、I/O控制 解释I/O请求、设备驱动、中断处理,60,61,62,
链接地址:https://www.31ppt.com/p-1468515.html