第七章--设备管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第七章设备管理2第一节概述I/0管理负责数据传输控制和对计算机系统中除CPU、主存以外其他设备的管理。通常把I/O设备及其接口线路、控制部件、通道和管理软件称为I/O系统,把主存和外围设备的介质间的信息传送操作称为输入输出操作。分类存储设备:块设备输入设备:字符设备输出设备:字符设备顺序存取存储设备直接存取存储设备3不同外部设备的主要差别所在:1、数据传输率:从每秒几十个字符到每秒几个KB,相差几万倍。2、数据表示方式:不同设备采用不同字符表和奇偶校验码。3、传输单位:慢速设备以字符为单位,快速设备以块为单位,可相差几千倍。4、出错条件:错误的性质、形式、后果、报错方式、应对措施都不一样。设备管理是操作系统各层中最庞杂最琐碎的部分。4设备管理应具有的功能1、外围设备中断处理2、缓冲区管理3、外围设备的登记和使用情况跟踪以及分配和回收4、外围设备驱动调度5、虚拟设备及其实现5设备管理的目标1、提高设备的使用效率2、设备独立性3、设备处理的一致性4、字符代码的独立性6提高设备的使用效率并行性,实现设备的并行操作:使设备传输与CPU运行高度重叠,设备与设备之间的运行也能高度重叠通道:控制一台或多台外部设备工作,负责外设和主存之间的信息传输,一旦启动就能独立于CPU运行,这样能使CPU和通道并行操作,而且CPU与各种外设也能并行工作。中断OS相应模块7方便用户的使用设备的独立性:地址:程序地址、内存地址设备名:逻辑设备名、物理设备名逻辑名:用户自己指定的,暂时的、可更改的。物理名:系统提供的设备的标准名称,永久的、不可更改的。设备独立性:用户在编制程序时所使用的设备与实际使用的设备无关。8设备独立性的实现用户一级的实现:进行逻辑指派OS的I/O管理模块:建立逻辑设备名和物理设备名的联接,并且在进程请求设备时进行设备分配和设备传输控制。优点:使程序所对应的进程在执行中可利用该类设备中的任一台物理设备,而不必仅限于使用具体某一台。9字符代码的独立性各种外部设备所使用的字符代码不同。为了实现字符代码的独立性,要找出一种所有字符码的统一内码表示形式(内部字符码),翻译机构,在I/O时执行相应的转换。能够处理多种字符码的外设,应该为每种字符代码提供各自的翻译机构。10设备管理的功能1、状态跟踪为了对设备实施分配和控制,系统在任何时间内都能快速的跟踪设备状态。DCB2、设备分配:作业级、进程级分配策略、分配方式、分配技术和选择用户的算法设备要物理的分配给进程(或作业),当它们使用完毕时系统要及时收回,以备重新分配。113、设备控制每个设备带有相应参数的特定的I/O指令,一些设备只响应某个命令子集。设备处理程序将通过控制命令映射或联系到每个设备的特定的指令,启动设备、然后进行中断处理、结束使用处理。设备驱动、设备中断处理12数据结构1、DCB:硬件特性、连接和使用情况。内存,在设备装入系统时创建。(1)设备标识符(2)设备属性:反映设备的相应特性和类型。传输速度、图形字符集(3)设备I/O总线地址:设备和CPU通过I/O总线连接起来,它在总线上有个地址。(4)设备状态;设备当前所处的状态。(5)等待队列指针:等待使用该设备的进程组成等待队列。首指针132、设备开关表使用DCB的动机之一是要为I/O管理提供一个不变的界面,每个I/O请求都要转换成调用一个能执行I/O操作的设备例程。通过操作码检索“设备开关表”以找到相应的设备例程地址,若不具备相应功能的设备在其例程地址上可以填“-1”或统一的设备出错处理程序的入口地址。在设备开关表中设立该设备的DCB指针或设备DCB在系统总的DCB表中的编号。14I/O控制方式I/O控制在计算机处理中具有重要的地位,为了有效的实现物理I/O操作,必须通过硬、软件技术,对CPU和I/O设备的职能进行合理分工,以调解系统性能和硬件成本之间的矛盾。按照I/O控制器功能的强弱,以及和CPU之间联系方式的不同,可把I/O设备的控制方式分为四类,它们的主要差别是在于中央处理器和外围设备并行工作的方式不同、并行工作的程度不同。151、询问方式(直接控制方式):I/O指令或询问指令测试一台设备的忙闲标志位,决定主存储器和外围设备是否交换一个字符或一个字。一旦CPU启动I/O设备,便不再查询I/O的准备情况,终止了原程序的执行。CPU在反复查询过程中,浪费了宝贵的CPU时间;同时,I/O准备就绪后,CPU参与数据的传送工作,此时CPU也不能执行原程序。CPU和I/O实际上是串行的工作方式。2、中断方式:外围设备有了反映其状态的能力,仅当操作正常或异常结束时才中断CPU。实现了一定程度的并行操作。163、DMA方式(DirectMemoryAccess)中断方式消除了程序查询方式的忙式测试,提高了CPU资源的利用率,但是在响应中断请求后,必须停止现行程序转入中断处理程序并参与数据传输操作。若I/O设备能直接与主存交换数据而不占用CPU,则CPU资源的利用率还可提高。DMA方式中,主存和I/O设备之间有一条数据通路,在主存和I/O设备之间成块的传送数据过程中,不需要CPU干预,实际操作由DMA直接执行完成。174、通道方式DMA方式与程序中断方式相比,又减少了CPU对I/O的干预,已经从字(字节)为单位的干预减少到以数据块为单位的干预。且每次CPU干预时,并不要做数据拷贝,仅仅需要发一条启动I/O指令,以及完成I/O结束中断处理。但,每发出一次I/O指令,只能读写一个数据块,如果用户希望一次读写多个离散的数据块,并能把它们传送到不同的主存区域,或相反时,则需要由CPU分别发出多启动I/O指令及进行多次I/O中断处理才能完成。通道方式是DMA方式的发展,它有进一步减少了CPU对I/O操作的干预,减少对多个不连续的数据块,而不是仅仅一个数据块,及有关管理和控制的干预。同时,为了获得中央处理器和外围设备之间更高的并行工作能力,也为了让种类繁多、物理特性各异的外围设备能以标准的接口连接到系统中,计算机系统引入了自成体系的通道结构。18DMA与中断的区别1、中断方式在数据寄存器满时发出中断,要求CPU进行中断处理;DMA是在所要求传输的数据块全部结束以后要求CPU进行中断处理。2、中断方式的数据传送是在中断处理时由CPU控制器完成;DMA方式是在DMA控制器下、不经过CPU控制完成,从而排除了CPU因并行设备过多而来不及处理导致数据不匹配丢失数据的现象。19第二节通道中断的缺陷:每传送一个信息单位(一个字节或一个字符块)就要插入一次中断处理,CPU时间浪费。通道:一种在大、中型机中专门处理I/O操作的处理机。它在CPU控制下独立的执行通道程序,对外部设备的I/O操作进行控制,以实现内存与外设之间成批的数据交换,当完成CPU交给的任务后,向CPU发出中断信号,请求CPU的处理。使CPU基本上摆脱了I/O操作的处理工作,提高了CPU与设备之间的并行程度。通道程序由通道指令组成,一个通道可以分时的方式执行几道程序。每道程序控制一台外部设备,每道通道程序称为子通道。即一个通道由多个子通道组成。20具有通道装置的计算机主机、通道、控制器和设备之间采用四级连接,实施三级控制。一个中央处理器可以连接若干个通道,一个通道可以连接若干控制器,一个控制器可以连接若干抬设备。中央处理器执行输入输出指令对通道实施控制,通道执行通道命令(CCW)对控制器实施控制,控制器发出动作序列对设备实施控制,设备执行相应的输入输出操作。P115图8.121通道种类1、字节多路通道以字节为基本传输单位。当一个子通道控制的某台外部设备交换了一个字节后,就转向下一个子通道,以控制下一台设备传送一个字节。即子通道的顺序循环轮转。主要用来控制低速、以字节为基本传输单位的设备。222、数据选择通道一次执行一个通道程序,控制一台设备连续的传送一批数据,当一个程序执行完后,才转向下一个程序。传输速度高。但一次只能控制一台设备进行I/O操作,主要用来提高外部设备的速度。233、数据多路通道结合上述两种的特点,可以分时的方式执行多道程序,每道程序可以传送一批数据。24通道命令和通道程序通道的作用是帮助CPU处理I/O操作,又称为I/O处理机,它有自己的指令系统,I/O处理机的指令称通道命令CCW(ChannelCommandWord)用这些指令编写的程序叫通道程序。25I/O启动和结束某进程在运行过程中,若提出I/O请求,则通过系统调用进入操作系统,系统首先为I/O操作分配通道和外设,然后按I/O请求生成通道程序并存入内存,把起始地址送入首地址寄存器(CAW),接着CPU发出启动通道的指令,指令参数包括通道和设备的地址。26CPU启动通道后,通道的工作过程是:(1)根据CAW,从内存中取出通道指令,送入通道控制字寄存器(CCW),并修改CAW,使其指向下一条通道指令的地址。(2)执行CCW中的通道指令,进行实际的I/O操作,执行完毕后如果还有下一条指令,则返回(1),否则转(3)。(3)发中断信号通知CPU通道程序已经执行完毕。CPU只在I/O开始和结束时参与工作,从而达到CPU与通道和外设。27第三节缓冲缓冲的提出:1、速度的不匹配:在两种不同速度的设备之间传输信息时平滑传输过程。2、系统负荷不均衡3、解决程序所请求的逻辑记录大小和设备的物理记录大小失配的问题。28buf读入的物理记录根据逻辑记录特性发送到用户进程存储区buf用户进程存储区取出逻辑记录物理记录文件写到设备读操作写操作空时等待满时等待29常用缓冲技术1、双缓冲思想:为I/O分配两个缓冲区buf1、buf2。在读入,输入设备先填满buf1,进程从buf1提取数据的同时,输入设备填满buf2。当buf1取空时,进程又从buf2取数据,同时输入设备填满buf1。等待时机???Buf1和buf2均为空,而进程又要取数据时。30环形缓冲标志指针标志指针标志指针标志指针标志指针buf1STARTOUTIN31缓冲的类型单缓冲:I/O设备和CPU之间的缓冲多缓冲:把多个缓冲区连接起来,其中一部分专门用来输入,另一部分专门用来输出。缓冲池双缓冲并行32START:IN:可接收数据的空闲缓冲区的首地址。OUT:装好数据且未取走的缓冲区首地址。33缓冲池内存中一组大小相等的缓冲区组成,系统资源,互斥一个缓冲区由两部分组成:用来标识和管理该缓冲区的缓冲首部;用于存放数据的缓冲体34hinhoutsinsout用户程序收容输入提取输入收容输出提取输出缓冲池35第四节设备分配主要功能:为进入系统的作业或运行的进程分配所需的设备。原则:充分发挥设备的使用效率,尽可能的让设备忙碌,但又要避免由于不合理的分配方法造成的进程死锁。静态分配、动态分配考虑因素:I/O设备的固有属性、I/O设备的分配算法、设备分配的安全性、设备无关性。36设备的分配与回收设备特性:独占设备共享设备虚拟设备独享分配:让一个作业独占使用,往往需要一定程度的人工干涉,静态分配共享分配:虚拟分配:在一类物理设备上模拟另一类物理设备的技术,是将独占设备转换为共享设备的技术。37独占型设备的分配与回收在一段时间内只能被一个进程占有。用户使用独占设备的活动:申请,使用,使用,…,使用,释放申请:分配给用户设备使用:系统将转到设备驱动模块完成一次I/O传输;释放:系统将设备从占有者手中收回。38取一相连控制器空闲取一相连通道还有相连控制器空闲分配通路还有相连通道等待通路TFTFTFTF通路分配算法39共享设备的分配与回收活动:使用,使用,…,使用在某一时刻一般,共享设备的I/O请求来自文件系统、虚拟存储系统或输入输出管理程序共享设备使用的具体方法:(1)申请设备及通路。(2)I/O传输。启动设备,经由选定的通路传输一块数据。(3)去配设备及通路。当设备发出中断信号时,唤醒一个等待设备的进程;当控制器、通道发出中断信号时,唤醒所有相关的等待通路进程。40对于共享设备,不同进程的I/O传输以块为单位,并且交叉的进行。41SPOOLingSimultaneousPeripheralOperati

1 / 62
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功