资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第七章 设备管理,第一节 概述,第二节 数据传送控制方式,第三节 中止技术,第四节 缓冲技术,第五节 设备分配,第六节 I/O进程控制,第七节 设备驱动程序,1,计算机操作系统-设备管理,第1页,7.1 概述,设备,除cpu,及内存以外全部设备和装置(I/O设备,存放设备等)。,存放设备,用来存放各种信息设备称为存放设备,比如,软盘、硬盘、光盘和磁带等,I/O设备,用来向计算机输入和输出信息设备,如键盘、鼠标、显示器、打印机等,2,计算机操作系统-设备管理,第2页,7.1.1 外部设备分类,按系统和用戶分:系统、用戶,按输入输出传送方式分(UNIX或Linux系统):字符型设备、块设备,按资源特点分:独享设备、共享设备、虚拟设备,按设备硬件物理特征分:次序存取设备、直接存取设备,3,计算机操作系统-设备管理,第3页,按输入输出传送方式分,字符型设备:以字符为单位进行输入、输出设备。每输入或输出一个字符就中止一次主机CPU,请求进行处理。所以又称慢速字符设备。,块设备:以字符块为单位进行输入、输出设备。比如:硬盘。,4,计算机操作系统-设备管理,第4页,按资源特点分,独享设备:全部字符设备都是独享设备。在一个用户作业未完成或退出之前,此设备不能分配给其它作业用。,打印机不能同时打印多个用户作业,不然输出结果将会混在一起。,共享设备:多个用户作业或多个进程能够“同时”从这些设备上存取信息。,软硬盘、光盘等块设备都是共享设备。,虚拟设备:经过软件技术将独享设备改造成共享设备。,比如:经过SPOOLing技术将一台打印机虚拟成多台打印机。,5,计算机操作系统-设备管理,第5页,按设备硬件物理特征分,次序存取设备:存取时间与物理上当前位置相关。如:磁带,直接存取设备:存取时间与物理上当前位置关系不大。如:磁盘,6,计算机操作系统-设备管理,第6页,7.1.2 设备管理任务,选择和分配输入输出设备,控制输入输出设备和CPU或内存之间数据交换。,为用户提供一个友好接口,把用户和设备硬件特征分开,使用户编程时无须关心设备物理特征。,尽可能提升输入输出设备利用率,发挥主机与外设以及外设与外设之间真正并行工作能力。,7,计算机操作系统-设备管理,第7页,7.1.3 设备管理功效,提供与进程管理系统接口,将进程要求传达给设备管理程序。,按设备类型和算法分配设备,包含对应通道、设备控制器。对未分配到设备任务或作业进入等候队列。,实现设备和设备、设备和CPU之间并行操作。这需要一些硬件设备支持。,进行存放缓冲区管理。,8,计算机操作系统-设备管理,第8页,7.2 数据传送控制方式,数据传送,设备与CPU或内存数据交互,传送方式,程序直接控制,中止控制,DMA控制,通道控制,评价指标,速度快、数据不丢失、系统开销小,9,计算机操作系统-设备管理,第9页,程序直接控制,由用户进程直接控制内存与外部设备数据传输,当用户进程需要数据时,它经过CPU发送“设备开启命令”,用户进程进入测试等候状态;,在等候时间内CPU不停用一条测试指令检验设备工作状态,当数据准备好后,状态存放器状态置为完成状态,发出“Done”信号,开始向内存传送数据,10,计算机操作系统-设备管理,第10页,程序直接控制方式特点,CPU和外部设备之间只能串行工作,CPU在一段时间只能与一台外部设备交换信息,所以不能实现设备之间并行工作,CPU处理速度远远高于外部设备,所以CPU利用率大大降低。,因为这种方式是依靠测试设备状态存放器状态位来控制数据传输,所以,无法发觉和处理因为设备或其它硬件所产生错误。,11,计算机操作系统-设备管理,第11页,7.2.2 中止方式,与程序直接方式不一样,它是靠中止来实现设备与内存数据传输控制。,处理过程:,1.当进程要求数据时,由CPU发出START命令,开启外设准备数据。同时中止允许位打开。,2.现运行进程放弃CPU,等候输入完成。进程调度程序选择一个新进程在CPU上运行。,3.当数据从对应设备送到缓冲区后,由I/O控制器发中止请求,CPU接到请求后,中止现运行进程,转中止处理程序执行数据传输。,4.在以后某个时刻,被中止进程因为取得了数据而继续运行。,12,计算机操作系统-设备管理,第12页,中止方式特点,1.因为I/O控制器数据缓冲存放器比较小,装满数据后发生中止,所以一次数据传输中会造成屡次中止,消耗大量CPU时间。,2.因为系统中设备较多,中止太多,会使CPU无法响应中止,造成数据丢失。,3.假如外部设备速度也比较高,CPU不能及时取走缓冲存放器数据,那么就会出现数据丢失。,13,计算机操作系统-设备管理,第13页,7.2.3 DMA方式,当需要传输大量数据时,程序I/O方式和中止I/O方式都会浪费大量CPU时间,所以,需要一个更有效技术处理大量数据传输,DMA(直接存放器存取)方式:当处理器希望读或写一块数据时,它给DMA模块产生一条指令,发送以下信息,包括I/O设备地址,开始读或写存放器单元,需要读或写字数,14,计算机操作系统-设备管理,第14页,DMA方式,处理器然后继续其它工作,而把这个操作委托给DMA模块,由该模块处理。,DMA模块直接从存放器中或者往存放器中传送整个数据块,每次传送一个字。,当传送完成后,DMA模块给处理器发一个中止信号。,所以,只有在开始传送和结束传送时才会用处处理器,15,计算机操作系统-设备管理,第15页,DMA方式,DMA方式特点:,作为高速外围设备与内存之间进行成批数据交换,但不对数据作加工处理。数据传输基本单位是数据块,I/O操作类型比较简单,需要使用一个专门DMA控制器(DMAC,Direct Memory Access Controller)。DMAC中有控制、状态存放器、传送字节计数器、内存地址存放器和数据缓冲存放器,16,计算机操作系统-设备管理,第16页,DMA方式,采取偷窃总线控制权方法,由DMAC送出内存地址和发出内存读、设备写或设备读、内存写控制信号来完成内存与设备之间直接数据传送,而不用CPU干预。有DMA传送甚至不经过DMAC数据缓冲存放器再吞吐,传输速率非常高。,仅在传送一个或多个数据块开始和结束时,才需CPU干预,整块数据传送是在控制器控制下完成,17,计算机操作系统-设备管理,第17页,7.2.4 I/O通道方式,通道控制方式与DMA方式类似,也是一个以内存为中心,实现设备与内存直接交换数据控制方式。与DMA方式相比,DMA方式每次仅传输一个数据块数据,而通道却能够一次传输若干个数据块数据。,18,计算机操作系统-设备管理,第18页,I/O通道方式,通道控制方式数据输入过程以下,当进程要求输入数据时,CPU发出驱动指令指明I/O操作、设备号和对应通道,对应通道接收到CPU发来驱动指令后,把存放在内存中通道指令程序读出,并执行通道程序,控制设备将数据传送到内存指定区域,若数据传送结束,则向CPU发出中止请求。CPU收到中止信号后转中止处理程序,唤醒等候输入完成进程,并返回被中止程序,19,计算机操作系统-设备管理,第19页,20,计算机操作系统-设备管理,第20页,通道指令,通道指令普通包含:内存地址(数据)、传送方向、数据长度、I/O设备地址信息、特征信息。,通道指令在进程要求数据时由系统自动生成。,Wirte 0 0 250 1850(,写/通道指令未结束/统计未结束/250个单元/内存地址1850,),Write 1 1 250 780(,写/通道指令结束/统计结束/250个单元/内存地址780,),21,计算机操作系统-设备管理,第21页,通道方式特点,设备与内存直接交换数据。,数据传送方向、内存地址、长度等是由通道来控制。DMA中这些是由CPU控制。,一个通道能够控制多台设备与内存进行数据交换。DMA方式每台设备最少一个DMA控制器。,一个通道能够以分时方式同时执行几个通道指令。,22,计算机操作系统-设备管理,第22页,7.3 中止技术,7.3.1 中止基本思想,7.3.2 中止分类与优先级,7.3.3 软中止,7.3.4 中止处理过程,23,计算机操作系统-设备管理,第23页,7.3.1 中止基本思想,定义:中止是指计算机在执行期间,系统内发生任何非寻常或预期急需处理事件,使得CPU暂时中止当前进程而转去执行对应事件处理程序,待处理完成后又返回原来被中止处继续执行或调度新进程执行过程。,中止源:引发发生中止事件叫做中止源。,中止请求:中止源向CPU发送中止信号叫做中止请求。,中止响应:CPU收到中止请求后转对应事件处理程序称为中止响应。,24,计算机操作系统-设备管理,第24页,中止基本思想,禁止中止(关中止):因为处理机状态字PSW中止允许位可能被去除,造成CPU不响应中止,直到PSW中止许可位被重新设置,即开中止。开中止和关中止都是为保障程序执行原子性。,中止请求、关中止、开中止都是由硬件实现。,中止屏蔽:中止请求产生之后,系统用软件方式有选择地封锁部分中止,而允许其它中止依然能够得到响应。有些中止是不可屏蔽,它们含有最高中止响应级别。,25,计算机操作系统-设备管理,第25页,7.3.2 中止分类与优先级,依据中止源产生条件,可把中止分为内部中止和外部中止:,内部中止:来自处理机和内存中止。内中止也叫做陷阱(trap)。包含程序运算引发各种错误,比如:数据格式错、非法指令等。,外部中止:除了内部中止之外,其它来自外部中止都是外中止。比如:I/O设备发出I/O中止、外部信号中止等。,中止和陷入按轻重缓急分为不一样优先级。,CPUPSW中也设有优先级。假如中止源优先级高于PSW则处理机响应该中止;反之,屏蔽请求。,中止源优先级是固定,处理机优先级则依据执行情况由系统程序动态设定。,26,计算机操作系统-设备管理,第26页,中止和陷入区分,陷阱通常由处理机正在执行指令引发,而中止是由与现行指令无关中止引发。,陷入处理程序提供服务是为当前进程,而中止处理程序提供服务则不是为当前进程。,CPU在执行完一条指令后,下一条指令开始之前响应中止,而中止执行过程中又能够响应陷阱。,有系统将中止处理程序在系统上下文上运行,而陷入在用户上下文上运行。,27,计算机操作系统-设备管理,第27页,7.3.3 软中止,定义:通讯进程之间相互发送信号来模拟硬件中止。一个进程A向进程B发送一个软中止信号后,当进程B占用处理机时,马上转去执行该软中止信号所对应程序。,有些系统中,将陷入划归到软中止处理。如当前执行指令产生陷阱,则向当前执行进程本身发出软中止信号,马上进入陷阱处理程序。,28,计算机操作系统-设备管理,第28页,7.3.4 中止处理过程,1.CPU检验是否有响应中止条件:中止请求、CPU允许中止。条件不满足则中止处理程序不处理。,2.假如CPU响应中止,则先关中止,以确保在中止处理过程中不被中止。,3.保留中止现场。,4.分析中止原因,调用中止处理子程序。假如同时有多个中止,则响应级别最高中止。,29,计算机操作系统-设备管理,第29页,中止向量,不一样中止源有不一样中止处理子程序。这些子程序入口地址和不一样处理机状态字一起组成中止向量。存放在内存特定单元中。,依据中止源系统查询中止向量表,然后转去对应处理子程序。,30,计算机操作系统-设备管理,第30页,7.4 缓冲技术,缓冲引入,缓冲种类,缓冲池管理,31,计算机操作系统-设备管理,第31页,7.4.1 缓冲引入,处理机处理速度很高,为了使处理机速度和外部设备速度匹配,普通在处理机和外部设备之间加一个或多个缓冲区,到达设备之间和设备与处理机之间并行处理目标。,为了降低中止次数。,比如:当计算进程把大量数据输出到打印机上,因为CPU输出速度大大高于打印机速度,所以,CPU只好停下来等候。而CPU计算时,打印机却空闲。,两种缓冲方案:用硬件缓冲存放器;内存缓冲区,32,计算机操作系统-设备管理,第32页,7.4.2 缓冲种类,单缓冲:在设备和处理机之间设置一个缓冲器。单缓冲不能实现设备之间并行操作。,双缓冲:两个缓冲器,以处理两个设备之间并行。但多个设备情况下依然不可行。,多缓冲:多个缓冲区连接起来组成两部分,一部分专门用于输入缓冲,另一部分专门用于输出缓冲。,缓冲池:将多个缓冲区连接起来统一管理,既可用于输入,又可用于输出。,33,计算机操作系统-设备管理,第33页,7.4.3 缓冲池管理,缓冲池由多个缓冲区组成。每个缓冲区由两部分组成:一是缓冲区首部,包含设备号、数据块号、缓冲区号、互斥标识位、连接指针;另一部分是存放数据为缓冲体。,系统将各个缓冲区按照用途分为三种队列:空闲队列、装满输入数据队列、装满输出数据队列。,除了这三种队列外,系统还提供四个工作缓冲区,用于进行缓冲区相关操作:,hin:收容设备输入数据缓冲区,sin提取设备输入数据缓冲区,hout:收容CPU输出缓冲区,sout:提取CPU输出数据缓冲区,34,计算机操作系统-设备管理,第34页,缓冲池结构,缓冲区头,存放数据,缓冲区,buffer,buf,缓冲区头,存放数据,缓冲区,buffer,buf,缓冲区头,存放数据,缓冲区,buffer,buf,35,计算机操作系统-设备管理,第35页,缓冲队列,空闲缓冲区,L(em),F(em),空闲缓冲区,输入缓冲区,L(in),F(in),输入缓冲区,输出缓冲区,L(out),F(out),输出缓冲区,36,计算机操作系统-设备管理,第36页,作业,课后习题 9.1,9.3,9.4,9.8,37,计算机操作系统-设备管理,第37页,
展开阅读全文