《操作系统第八章》PPT课件.ppt

上传人:san****019 文档编号:15716251 上传时间:2020-09-01 格式:PPT 页数:59 大小:553.60KB
返回 下载 相关 举报
《操作系统第八章》PPT课件.ppt_第1页
第1页 / 共59页
《操作系统第八章》PPT课件.ppt_第2页
第2页 / 共59页
《操作系统第八章》PPT课件.ppt_第3页
第3页 / 共59页
点击查看更多>>
资源描述
第八章 设备管理,本章主要内容: 设备管理的功能和任务、数据传送控制方式、 中断技术、缓冲技术、设备分配、 IO控制系统、设备驱动程序等内容,8.1.1设备分类,按使用特性分类: 存储设备 输入输出设备 终端设备 4. 脱机设备P224图 按从属关系分类: 系统设备 用户设备 按信息组织方式分类: 块设备 字符设备,8.1.2设备管理的功能和任务,主要任务:见P224,主要功能:,8.2数据传送控制方式,什么是数据传送控制方式: 数据传送控制方式是指如何控制设备与内存之间的数据传输过程的方式。 控制三原则P225,程序(CPU)直接控制方式,中断驱动方式,DMA控制方式,通道控制方式,数据传输控制方式的发展过程,8.3中断技术,中断:是指计算机在执行期间系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程,中断源、响应中断、处理中断,禁止中断:PSW中的中断允许位清除。用来禁止和开放中断(为保证原子性)。 P233,屏蔽中断:PSW中的中断屏蔽字段。每位对应一类中断的中断屏蔽触 发器。用软件方法可以设置。用于屏蔽某些中断。P233,中断的基本概念:p233,PSW即程序状态字Program Status Word用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,如有无进位(CF位),有无溢出(OF位),结果正负(SF位),结果是否为零(ZF位),奇偶标志位(PF位)等;另一类是存放控制信息,如允许中断(IF位),跟踪标志(TF位)等。有些机器中将PSW称为标志寄存器FR(Flag Register)。,中断的基本概念(续),中断向量:PSW处理程序的入口地址。每类中断有对应的PSW及处理程序的入口地址。 关中断:即禁止中断,系统不响应中断。 中断嵌套:在处理中断的同时又响应别的中断。 屏蔽中断的运用P233:在中断请求产生后,可以用屏蔽中断的方法。 屏蔽同级或同级以下的中断。 可用提高处理机优先级的方法禁止中断和屏蔽某些中断。,中断的分类与优先级,外中断:是指来自处理机和内存外部的中断。包括I/O中断、外部信号 中断、各种定时器引起的时钟中断以及调试程序中设置的中断点等引起 的调试中断等。狭义上一般称为中断。,内中断:主要指在处理机和内存内部产生中断。 内中断一般称为陷阱。 它包括程序运算引起的各种错误、系统调用等。,中断优先级:按中断源的轻重缓急响应中断,操作系统对不同的中断赋予不同的优先级。中断优先级决定系统响应中断的优先次序。 处理机优先级:现行程序的优先级,可用来禁止中断和屏蔽中断。,中断与陷阱的区别,陷阱通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。 陷阱处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的。 CPU在执行完一条指令之后,下一条指令开始之前响应中 断,而在一条指令执行中也可以响应陷阱。,软中断,软中断和硬中断: 软中断是通信进程之间用来模拟硬件中断的一种信号通信方式。硬中断通过硬件产生相应的终端请求。,实现软中断通信的系统调用(如unix) :,kill(pid,sig) 发送软中断信号 signal(sig,func) 进程设置软中断信号到 达时的处理方式,中断处理过程:,中断处理过程(续),I/O中断的处理的控制过程、形式化描述: I/O Interrupt processing control: begin unusable I/O Interrupt flag save status of interrupt program if Input Device i Ready then Call Input Device i Control fi if Output Device i Ready then Call Output Device i Control fi if Data Deliver Done then Call Data Deliver Done Control fi restore CPU status reset I/O Interrupt flag end Input Device i Control: Output Device i Control: Data Deliver Done Control:,直接存储访问方式(DMA, Direct Memory Access),工作方式:由程序设置DMA控制器中的若干寄存器值(如内存始址,传送字节数),然后发起I/O操作;在DMA控制之下完成内存与外设的成批数据交换,在操作完成时由DMA控制器向CPU发出中断。 特点:DMA与CPU分是共享总线,DMA通过挪用总线周期的方式把数据缓冲寄存器中的数据直接送到内存地址寄存器所指向的内存区域。,接下页,DMA方式下的I/O传送结构,见P229图9.5,接下页,DMA方式下的数据传送处理过程,见P210图8.6,接下页,直接存储访问方式优缺点,优点:CPU只需干预I/O操作的开始和结束,而一批数据传输由DMA控制, 无需CPU控制,提高了CPU与设备的并行工作程度,排除了中断方式中的 数据丢失现象。适于高速设备。如:磁盘,缺点:DMA方式对外围设备的管理和某些操作仍由CPU控制。系统中多个 DMA同时使用,可能造成内存地址冲突。管理和控制复杂化。 DMA方式一次只能传送一批地址连续的数据块,如果需传送多个地 址不连续的数据块,则需启动DMA多次。,返回,通道控制方式(channel control),通道的定义及工作方式: 通道是一个独立于CPU的专管输入输出控制的处理机,它控制设备 与内存直接进行数据交换。它有自己的通道指令,由通道指令构成通 道程序。由CPU启动通道工作,通道通过执行通道程序控制数据传输, 并在操作结束时向CPU发中断信号,由CPU进行传输结束中断处理通道。,接下页,通道指令包括:1)操作码 2)内存地址 3)读或写的字节计数 4)记录结束标志R 5)通道程序结束位P,通道程序,接下页,通道程序: 通道程序根据进程提出的数据传输要求由系统自动生成,存放在内存。,通道程序示例: 一个六条通道指令所构成的简单通道程序,其功能是将内存中不同地址的数据写到三个记录中。,通道方式的数据传输结构,通道类型: 选择通道(selector channel):可以连接多个外设,而一次只能访问其中一个外设,执行一道通道程序(单道工作方式)。以块为单位传送数据,速度快,适合高速外部设备。如:磁盘,磁带。 字节多路(byte multiplexor channel)通道 :以字节为单位传送数据,多个外设分时轮流使用通道(分时系统工作方式)。适合连接低速字符设备。 数组多路(block multiplexor channel)通道:以块为单位传送数据,可以并发访问多个外设,分时执行多道通道程序。适合连接中高速外部设备。如:磁盘,磁带。,接下页,通道方式的数据传输结构:见P231图9.7,通道方式的数据输入处理过程,接下页,通道控制方式的描述过程见P232,通道控制方式的处理过程: 当进程要求设备输入数据时,CPU执行Start指令指明I/O操作、通道程序地址、设备号和对应的通道。 对应通道接收到CPU发来的启动指令之后开始工作,把存放在内存中的通道指令程序读出并执行,并设置对应设备的I/O控制其中的控制状态寄存器,是设备开始工作。 设备准备好数据,由通道把数据送往通道指令指定的内存区域。 若数据传送结束,通道通过中断请求线发中断信号请求CPU做中断处理。,通道控制方式优点,优点:启动一次通道执行一个通道程序可以传送几批地址不连续的数据块。数据传输过程中对CPU的干扰比DMA更少,CPU利用率更高,对通道的控制更简单。 通道通过执行通道程序控制输入输出,比较灵活。,返回,程序直接控制方式 p225,程序直接控制方式(programmed direct I/O) : 由CPU直接控制内存和外围设备之间的信息传送。I/O操作 由程序发起,并等待操作完成。数据的每次读写通过CPU 控 制,包括发送读写命令、循环测试设备状态、传输数据。,接下页,(b),程序直接控制方式图示,接下页,程序直接控制方式示例CPU控制控制输入数据过程示例,接下页,程序直接控制方式优缺点,返回,优点:控制简单。 缺点:1)CPU和外围设备只能串行工作。 2)CPU在一段时间内只能和一台外围设备交换数据信息,从而不能实现设备之间的并行工 作。 3)由于程序直接控制方式依靠测试设备标志触发器的状态位来控制数据传送,因此无法发现和处理由于设备或其他硬件产生的错误。 适合:专用控制系统;外设较少、CPU速度较慢的系统。,工作方式:CPU向I/O部件发出命令后,转去做其他有用的工作。 当I/O部件准备好一个数据(对输入)或输出完一个数据后(对输出) 后,利用中断通知CPU,再由CPU完成设备与内存的数据传输。,特点: CPU不必反复测试寄存器状态,节约了时间。CPU可以 与设备并行工作。但每个字节的数据传输都必须经过CPU寄存器转发。,中断控制方式,接下页,中断控制方式处理过程,接下页,中断控制方式输入数据CPU控制控制过程示例,接下页,优点:CPU利用率较程序直接控制器有大大的 提高,且能支持多道程序和设备的并行操 作。 缺点:1)因为数据缓冲区较小,在一次数据(若干字节)传送过程中,发生中断次数较多。 2)外围设备较多时,CPU由于中断次数增多而无法响应中断和出现数据丢失。 适合:低速的字符设备,中断控制方式优缺点,返回,8.4 缓冲技术,缓冲的引入: 为了匹配CPU或用户应用进程与外设的处理速度; 减少对CPU的中断次数,提高CPU和I/O设备之间以及各个I/O设备 之间的并行性; 解决DMA或通道方式的瓶颈问题。,实现方法: 专用硬件缓冲器 内存专用缓冲器,缓冲的种类,单缓冲(single buffer):设一个缓冲区,CPU和外设轮流使用, 一方处理完之后接着等待对方处理。 双缓冲(double buffer):设两个缓冲区,CPU和外设都可以连 续处理而无需等待对方。要求CPU和外设的速度相近。 多缓冲(multiply buffer):多个缓冲区,CPU和外设的处理速 度可以相差较大。如用于输入或输出的环形缓冲区。(一般是 专用) 缓冲池(bufferpool):由多个缓冲区构成,既可用于输入也 可用于输出,多个进程共享,可用于多种设备。(通用,利用 率高),(a)单缓冲 ;(b)双缓冲; (c)循环缓冲,缓冲池的管理,缓冲区类型(三种) 空闲缓冲区(em):没有数据的缓冲区。 输入缓冲区(in):装满了输入数据的缓冲区 输出缓冲区(out):装满了准备输出到设备的缓冲区 缓冲区工作方式(四种): 1、设备正在输入数据到缓冲区。称为收容输入。 2、CPU正在读入输入缓冲区的内容到用户区。称为提取输入。 3、CPU正在输出数据到缓冲区。称为收容输出, 4、正在将输出缓冲区内容输出到实际设备,称为提取输出。 上述操作访问各个缓冲区队列时,需要进行相应的互斥操作。,缓冲池的管理(续),缓冲区队列:三种:图如下所示:,工作缓冲区:四种:图如下所示:,CPU,缓冲池管理(续),四个操作: take_buf (type) (被get_buf调用) add_buf (type) (被put_buf调用) get_buf (type,number) (申请缓冲区供进程使用) put_buf (type,work_buf) (将缓冲区放入相应队列,供进程使用) 参数说明: type: em in out Work_buf: hin hout sin sout,缓冲区状态转换图,设:互斥信号量S(type) 初值为 资源信号量RS(type)初值为(n为type队列长度) 如:em队列:初值为; in队列:初值为; out队列:初值为,get_buf ( )程序描述如下: get_buf(type,number): begin P(RS(type)先申请资源 P(S(type)再申请操作权 Pointer of buffer(number)=take_buf(type,number) V(S(type) End,put_buf ( )程序描述如下: put_buf(type,number) begin P(S(type) add_buf(type,number) V(S(type) V(RS(type) end,get_buf 和put_buf 过程描述,8.5.1设备分配用数据结构,以下数据结构用来记录设备或部件的标识状态等信息:,系统设备表SDT:整个系统一张表,每个物理设备一个项 设备控制表DCT:每个设备一张P239 控制器控制表COCT:每个控制器一张P240 通道控制表CHCT:每个通道一张P240,设备分配的意义P239,设备分配数据结构及其关系图,8.5.2 设备分配原则,与设备分配有关的设备属性: 独享设备:打印机等; 共享设备:磁盘、网卡等;虚拟设备。 设备分配方式: 静态分配:在进程分创建时分配,在进程退出时释放; 优缺点:不会出现死锁; 设备利用率不高; 动态分配:在进程执行过程中根据需要分配,使用结束后释放; 优缺点:需要考虑死锁问题 有利于提高设备利用率,设备分配的原则: 合理使用外设(公平和避免死锁),提高设备利用率。,设备分配策略,设备分配策略:针对特定的设备采用特定的分配策略。 先来先服务(FCFS):按I/O请求的先后顺序,排成I/O请求命令队列;按FCFS分配设备; 基于优先级:依据进程的优先级,指定I/O请求的优先级,排成不同优先级队列;按优先级高低分配设备;,设备分配算法,设备分配流程图见P241图9.13,分配过程:如下所示,8.6 I/O进程控制,什么是I/O控制? 从用户进程的输入输出请求开始,给用户进程分配设备和启动有关设备进行I/O操作,以及在I/O操作完成之后响应中断,进行善后处理为止的整个系统过程为I/O控制。,I/O控制的功能,1)处理用户请求、分配设备、分配缓冲、启动设备 (启动过程) 2)处理I/O中断 (中断处理),I/O进程控制过程,转换:将抽象的命令转换为具体的一定次序的指令。 合法性检查:检查I/O操作请求的合法性。 可用性检查:检查控制器和设备的状态,判断是否可用。 参数设置:设置控制器和设备的参数,包括构造必要的通 道程序。 启动I/O:向控制器或设备发起I/O操作。 中断处理:提供必要的中断处理例程,以便I/O完成时调 用。,I/O控制过程: 依据用户的控制命令对外设进行控制,并返回结果。控制过程可分为 以下6步:,I/O控制的实现,三种方式:p244 作为请求I/O操作的进程的一部分实现: 要求I/O的进程具有实时性,即时处理设备中断。 作为当前进程的一部分: 由请求I/O操作的进程调用I/O操作控制部分,而让当前进程负责调用 中断处理部分也是一种可行的I/O控制方案。 I/O控制由专门的系统进程I/O进程完成 I/O进程分为三种方式: a:每类(个)设备设一专门的I/O进程,且该进程只能在系统态下执行。 b:整个系统设一I/O进程,全面负责系统的数据传送工作。I/O进程可分 为输入进程和输出进程。 c:每类(个)设备设一个专门的I/O进程,但该进程既可在用户态也可 在系统态下执行。,8.7 设备驱动程序,设备驱动程序 驱动物理设备和DMA控制器或I/O控制器等直接进行I/O操作的子程序 的集合。负责设置相应设备有关寄存器的值,启动设备进行I/O操作,指 定操作的类型和数据流向等。,设备驱动程序的特征 中转数据和控制:不是数据和控制的源端和目的端(应用程序和设备) 与硬件特性密切相关:通常由硬件厂商提供。 向上屏蔽设备细节:不同类型设备通常其设备驱动程序接口不同,同类设备的接口相同。,设备驱动程序是设备与应用程序间的接口:使应用程序可以用统一的方式来使用设备。,设备驱动程序(续),系统用设备开关表对设备驱动程序进行管理,设备开关表 DST(Device Switch Table)包含每类设备各种子程序入 口地址,如下表所示:,DST也是I/O控制进程使用的数据结构。它根据该表调用设备驱动程 序做启动相应操作。,补充假脱机技术,引入:在多道批处理系统中,专门利用一道或几道程序来完成对设备的I/O操作。无需使用外围I/O处理机。,利用假脱机技术(SPOOLing, Simultaneous Peripheral Operation On Line, 也称为虚拟设备技术)可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。,假脱机的原理: SPOOLing程序和外设进行数据交换,可以称为“实际I/O”。一方面,SPOOLing程序预先从外设输入数据并加以缓冲,在以后需要的时候输入到应用程序;另一方面,SPOOLing程序接受应用程序的输出数据并加以缓冲,在以后适当的时候输出到外设。 在SPOOLing程序中,需要管理两级缓冲区:内存缓冲区和快速外存上的缓冲池,后者可以暂存多批I/O操作的较多数据。 应用程序进行I/O操作时,只是和SPOOLing程序交换数据,可以称为虚拟I/O。这时虚拟I/O实际上是从SPOOLing程序的缓冲池中读出数据或把数据送入缓冲池,而不是跟实际的外设进行I/O操作。,优点: 高速虚拟I/O操作:应用程序的虚拟I/O比实际I/O速度提高,缩短 应用程序的执行时间。另一方面,程序的虚拟I/O操作时间和实际 I/O操作时间分离开来。 实现对独享设备的共享:由SPOOLing程序提供虚拟设备,可以对 独享设备共享使用。 举例:打印机设备和可由打印机管理器管理的打印作业队列。 如:Windows NT中,应用程序直接向针式打印机输出需要15分钟, 而向打印作业队列输出只需要1分钟,此后用户可以关闭应用程序 而转入其他工作,在以后适当的时候由打印机管理器完成15分钟 的打印输出而无需用户干预。,补充:磁盘设备管理,CPU和内存的访问速度比磁盘要快若干个数量级,磁盘系统的性能 对整个系统的性能有重要影响,磁盘设备管理的目标就是提高磁盘 系统的性能。,磁盘I/O访问时间的组成(回顾P208),柱面定位时间:磁头移动到指定柱面的机械运动时间; 旋转延迟时间:磁盘旋转到指定扇区的机械运动时间;它与磁盘转速相关,如:软盘转速可为600rpm(每分钟转速),硬盘可为3600rpm。 数据传送时间:从指定扇区读写数据的时间。,返回,由于柱面定位时间在访问时间中占主要部分,合理组成磁盘数据的 存储位置可提高磁盘I/O性能。 例子:读一个128KB大小的文件: (1)文件由8个同一柱面上连续磁道(每个磁道32个扇区)上的256个扇区构成: 20ms+(8.3ms+16.7ms)*8=220ms; 其中,柱面定位时间为20ms,旋转延迟时间为8.3ms,一个磁道上32个 扇区数据传送时间为16.7ms; (2)文件由256个随机分布的扇区构成: (20ms+8.3ms+0.5ms)*256=7373ms; 其中,1扇区数据传送时间为0.5ms; 随机分布时的访问时间为连续分布时的33.5倍。,磁盘数据的存储位置对磁盘I/O性能的影响,磁盘I/O调度策略,先进先出算法 优先级算法 最短查找时间优先算法 扫描(SCAN)算法 双队列扫描(FSCAN)算法,来自不同进程的磁盘I/O请求构成一个随机分布的请求队列。磁盘 I/O调度的主要目标减少寻找柱面的时间,使得平均柱面定位时间缩短。(也称为移臂调度),先进先出(FIFO, First In First Out)算法:磁盘I/O执行顺序为磁盘I/O请求的先后顺序。 该算法的特点是公平性;在磁盘I/O负载较轻且每次读写多个连续扇区时,性能较好。 优先级算法:依据进程优先级来调整磁盘I/O请求的执行顺序。 该算法反映进程在系统的优先级特征,目标是系统目标的实现,而不是改进磁盘I/O性能。,最短查找时间优先(SSTF, Shortest Service Time First)算法: 考虑磁盘I/O请求队列中各请求的柱面位置,选择从当前磁头位置 出发,移动臂移动距离最短的磁盘I/O请求。 该算法的目标是使每次磁头移动时间最少。它不一定是最短平 均柱面定位时间,但比FIFO算法有更好的性能。 可能会有进程处于饥饿状态。 扫描(SCAN)算法: 选择在磁头前进方向上从当前位置移动距离最短的磁盘I/O请求执 行,没有前进方向上的请求时才改变方向。(也叫电梯调度算法) 该算法是对SSTF算法的改进,磁盘I/O较好,且没有进程会饿死。,磁盘I/O调度举例:,例如:如果现在读写磁头正在53号柱面上执行输入输出操作,而等待 访问者按I/O请求的时间先后顺序依次要访问的柱面为: 98,183,37,122,14,124,65,67,先来先服务调度 磁头移动总距离640个柱面 平均移动距离640/8=80个柱面,最短寻找时间优先调度 磁头移动总距离236个柱面 平均移动距离236/8=29.5个柱面,磁盘I/O调度举例(续),例如:如果现在读写磁头正在53号柱面上执行输入输出操作,而等待访问 者按I/O请求的时间先后顺序依次要访问的柱面为: 98,183,37,122,14,124,65,67,SCAN调度算法:外移方向 磁头移动总距离208个柱面 平均移动距离208/8=26个柱面,SCAN调度算法:里移方向 磁头移动总距离299个柱面 平均移动距离299/8=37.4个柱面,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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