操作系统教学课件五

上传人:无*** 文档编号:241383813 上传时间:2024-06-22 格式:PPT 页数:88 大小:378.50KB
返回 下载 相关 举报
操作系统教学课件五_第1页
第1页 / 共88页
操作系统教学课件五_第2页
第2页 / 共88页
操作系统教学课件五_第3页
第3页 / 共88页
点击查看更多>>
资源描述
设备管理的主要功能有:缓冲区管理、设备管理的主要功能有:缓冲区管理、设备的分配、设备处理、虚拟设备及实现设设备的分配、设备处理、虚拟设备及实现设备独立性等。备独立性等。设备管理的目标:设备管理的目标:(1)提供方便性;提供方便性;(2)提高设备的工作提高设备的工作 效率。效率。现代计算机系统,所有的现代计算机系统,所有的I/O设备都由操作系设备都由操作系统管理,好处是:统管理,好处是:(1)不用用户了解设备的属性;不用用户了解设备的属性;(2)保证设备安全正确的工作;保证设备安全正确的工作;(3)用户之间对设备的使用,由系统协调。用户之间对设备的使用,由系统协调。2024/6/221第五章 设备管理5.1 I/O系统系统 5.1.1 I/O设备设备1.I/O设备的类型设备的类型 1)按传输速率分类按传输速率分类 低速设备:每秒钟传输几个字节至数百个字节。低速设备:每秒钟传输几个字节至数百个字节。中速设备:每秒钟传输数千个字节至数万个字节。中速设备:每秒钟传输数千个字节至数万个字节。例:行式打印机,激光打印机等。例:行式打印机,激光打印机等。高速设备:每秒钟传输数百千个字节至数十兆字节。高速设备:每秒钟传输数百千个字节至数十兆字节。例:磁盘机、磁带机、光盘机等例:磁盘机、磁带机、光盘机等。2024/6/222第五章 设备管理2)按信息交换的单位分类按信息交换的单位分类 块设备:信息的传递以数据块为单位。块设备:信息的传递以数据块为单位。字符设备:信息的传递以字符为单位。字符设备:信息的传递以字符为单位。3)按设备的共享属性分类按设备的共享属性分类独占设备:一段时间内只允许一个用户独占设备:一段时间内只允许一个用户(进程进程)访问的设备。访问的设备。共享设备:在一段时间内允许多个进程同时访问的设共享设备:在一段时间内允许多个进程同时访问的设备。备。虚拟设备:通过虚拟技术将一台独占设备变换为若干虚拟设备:通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户台逻辑设备,供若干个用户(进程进程)同时使用同时使用.2024/6/223第五章 设备管理n微机总线型微机总线型I/O系统结构系统结构CPU存储器磁盘控制器打印机控制器其它控制器其它设备打印机磁盘驱动器系统总线2024/6/224第五章 设备管理 主机通道型I/O系统结构I/O通道1计算机控制器设备控制器设备I/O通道2控制器设备控制器设备2024/6/225第五章 设备管理2.设备与控制器之间的接口设备与控制器之间的接口 通常,设备并不是直接与通常,设备并不是直接与CPU进行通信,进行通信,而是与设备控制器通信,因此,在设备与设而是与设备控制器通信,因此,在设备与设备控制器之间应有一接口,在该接口中有三备控制器之间应有一接口,在该接口中有三种类型的信号,各对应一条信号线。种类型的信号,各对应一条信号线。2024/6/226第五章 设备管理图图 51 设备与控制器间的接口设备与控制器间的接口缓冲转换器控制逻辑I/O设备至设备控制器数据信号线状态信号线控制信号线信号数据2024/6/227第五章 设备管理5.1.2 设备控制器设备控制器 主要职责是控制一个或多个主要职责是控制一个或多个I/O 设备,以实现设备,以实现I/O设备和计算机之间的数据交换。设备和计算机之间的数据交换。它是它是CPU与与I/O设备之间的接口,它接收从设备之间的接口,它接收从CPU发来发来的命令,并去控制的命令,并去控制I/O 设备工作,以使处理机从繁设备工作,以使处理机从繁杂的设备控制事务中解脱出来。杂的设备控制事务中解脱出来。1.设备控制器的基本功能设备控制器的基本功能1)接收和识别命令接收和识别命令2)数据交换数据交换3)标识和报告设备的状态标识和报告设备的状态4)地址识别地址识别5)数据缓冲数据缓冲6)差错控制差错控制2024/6/228第五章 设备管理2.设备控制器的组成设备控制器的组成设备控制器位于设备控制器位于CPU与设备之间,它既要与与设备之间,它既要与CPU通信,又要与设备通信,还应具有按照通信,又要与设备通信,还应具有按照CPU所所发来的命令去控制设备工作的功能。它由三部发来的命令去控制设备工作的功能。它由三部分组成:分组成:1)设备控制器与处理机的接口设备控制器与处理机的接口 2)设备控制器与设备的接口设备控制器与设备的接口 3)I/O 逻辑,用于实现对设备的控制。逻辑,用于实现对设备的控制。2024/6/229第五章 设备管理图图 52 设备控制器的组成设备控制器的组成I/O逻辑逻辑数据寄存器控制器与设备接口1数据线数据信号控制/状态寄存器状态信号控制信号控制器与设备接口n数据信号状态信号控制信号控制线地址线CPU与控与控制器接口制器接口控制器与控制器与设备接口设备接口实现对设备的控制2024/6/2210第五章 设备管理5.1.3 I/O通道通道1.I/O通道通道(I/O Channel)设备的引入设备的引入 I/O 通道是一种特殊的处理机。它具有执行通道是一种特殊的处理机。它具有执行I/O 指令的能力,并通过执行通道程序来控制指令的能力,并通过执行通道程序来控制I/O操作。操作。但但I/O通道又与一般的处理机不同,主要表现在:通道又与一般的处理机不同,主要表现在:(1)指令类型单一。指令类型单一。(2)通道没有自己内存。通道没有自己内存。2.通道类型通道类型1)字节多路通道字节多路通道2)数组选择通道数组选择通道3)数组多路通道数组多路通道3.“瓶颈瓶颈”问题,由于通道数量少,连接的设备多,问题,由于通道数量少,连接的设备多,数据传输时造成的阻塞现象。数据传输时造成的阻塞现象。2024/6/2211第五章 设备管理 通道类型:通道类型:字节多路通道字节多路通道含有许多非分配型子通道分别连接在低、中速含有许多非分配型子通道分别连接在低、中速I/O设设备上,子通道按时间片轮转方式共享主通道,按字备上,子通道按时间片轮转方式共享主通道,按字节方式进行数据传送节方式进行数据传送 数组选择通道数组选择通道 只含有一个分配型子通道,一段时间内只能执行只含有一个分配型子通道,一段时间内只能执行一道通道程序、控制一台设备按数组方式进行一道通道程序、控制一台设备按数组方式进行数据传送,通道独占且利用率低,用于连接多数据传送,通道独占且利用率低,用于连接多台高速设备台高速设备 数组多路通道数组多路通道含有多个非分配型子通道分别连接在高、中速含有多个非分配型子通道分别连接在高、中速I/O设设备上,子通道按时间片轮转方式共享主通道,按数备上,子通道按时间片轮转方式共享主通道,按数组方式进行数据传送组方式进行数据传送2024/6/2212第五章 设备管理图 5-4单通路I/O 系统CPU存储器通道1通道2控制器1控制器2控制器3控制器4设备1 设备2设备3设备4设备5设备6 设备 72024/6/2213第五章 设备管理图 55 多通路I/O系统:CPU存储器通道1通道2控制器1控制器2设备1设备2设备3设备42024/6/2214第五章 设备管理5.2 I/O控制方式 在在I/O 控制方式的整个发展过程中,始终控制方式的整个发展过程中,始终贯穿着这样一条宗旨,即尽量减少主机对贯穿着这样一条宗旨,即尽量减少主机对I/O控制的干预,把主机从繁杂的控制的干预,把主机从繁杂的I/O控制事务中控制事务中解脱出来,以便更多地去完成数据处理任务。解脱出来,以便更多地去完成数据处理任务。5.2.1 程序程序I/O 方式方式无中断机构,无中断机构,CPU对对I/O 设备的控制采取程序设备的控制采取程序 I/O 方式,或称为忙方式,或称为忙等待方式。等待方式。2024/6/2215第五章 设备管理图 57 程序I/O 和中断驱动方式的流程(a)程序I/O方式向I/O控制器发读命令读 I/O控制器的状态检查状态?从I/O 控制器中读入字向存储器中写字传送完成?未完成完成下一条指令未就绪就绪2024/6/2216第五章 设备管理5.2.2 中断驱动中断驱动I/O 控制方式控制方式CPU 与I/O设备并行操作。(b)中断驱动方式 向I/O控制器发读命令读 I/O控制器的状态检查状态?从I/O 控制器中读入字向存储器中写字传送完成?未完成完成下一条指令就绪出错Cpu做其他中断2024/6/2217第五章 设备管理5.2.3 直接存储器访问直接存储器访问DMA I/O控制方式控制方式 1.DMA控制方式的引入 主要用于控制快速设备工作。DMA方式向I/O控制器发读块命令读DMA控制器的状态下条指令CPUDMACPU做其它事中断DMACPU2024/6/2218第五章 设备管理2.DMA控制器的组成控制器的组成DMA 控制器由三部分组成:控制器由三部分组成:(1)主机与主机与DMA 控制器的接口;控制器的接口;(2)DMA 控制器与块设备的接口;控制器与块设备的接口;(3)I/O控制逻辑控制逻辑在在DMA控制器中设置如下四类寄存器控制器中设置如下四类寄存器:(1)命令命令/状态寄存器状态寄存器CR;(2)内存地址寄存器内存地址寄存器MAR;(3)数据寄存器数据寄存器DR;(4)数据计数器数据计数器DC.2024/6/2219第五章 设备管理3.DMA 工作过程以从磁盘读入数据为例,说明DMA方式的工作流程。设置MAR和DC初值启动DMA传送命令挪用存储器周期传送数据字准备又一次传送DC=0?存储器地址增1字计数器减1否请求中断是2024/6/2220第五章 设备管理5.2.4 I/O通道控制方式通道控制方式1.I/O 通道控制方式的引入通道控制方式的引入 I/O通道方式是通道方式是DMA方式的发展方式的发展,可进可进一步减少一步减少CPU的干预的干预,可实现可实现CPU、通道和通道和I/O设备三者的并行操作。设备三者的并行操作。通道通过执行通道程序,可完成通道通过执行通道程序,可完成CPU 指定的指定的I/O任务。任务。2.通道程序通道程序通道程序是由一系列通道指令通道程序是由一系列通道指令(或称为通道命或称为通道命令令)所构成的。)所构成的。2024/6/2221第五章 设备管理通道程序之例:操作PR计数内存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE00250185011250720WRITE2024/6/2222第五章 设备管理5.3 缓冲管理缓冲管理 在现代操作系统中,几乎所有的在现代操作系统中,几乎所有的I/O设备设备在与处理机交换数据时,都用了缓冲区。在与处理机交换数据时,都用了缓冲区。缓冲区管理的主要职责是组织好这些缓冲缓冲区管理的主要职责是组织好这些缓冲区,并提供获得和释放缓冲区的手段。区,并提供获得和释放缓冲区的手段。缓冲:是一种暂时存放的意思。缓冲:是一种暂时存放的意思。2024/6/2223第五章 设备管理5.3.1 缓冲的引入缓冲的引入引入缓冲的主要原因是:引入缓冲的主要原因是:(1)缓和缓和CPU 与与I/O设备间速度不匹配的矛盾。设备间速度不匹配的矛盾。(2)减少对减少对CPU的中断频率,放宽对的中断频率,放宽对CPU 中断响应时间中断响应时间的限制。的限制。(3)提高提高CPU和和I/O设备之间的并行性。设备之间的并行性。缓冲区的实现:缓冲区的实现:(1)用寄存器构成用寄存器构成 (2)用内存单元构成用内存单元构成5.3.2 单缓冲和双缓冲单缓冲和双缓冲1.单缓冲单缓冲CPU和设备之间串行工作和设备之间串行工作.缓冲区输入打印2024/6/2224第五章 设备管理n单缓冲区用户进程传送缓冲区缓冲区操作系统输入I/O设备 块设备输入时,先从磁盘把一块数据输入到缓冲区,耗时为T;然后由操作系统将缓冲区数据传送给用户区,耗时为M;接下来便由CPU对这一块数据进行计算,耗时为C,则系统对每一整块数据处理时间为max(C,T)+M。通常M远小于T或C,故若无缓冲区,数据直接进入用户区,则每块数据处理时间近似为T+C2024/6/2225第五章 设备管理2.双缓冲使CPU与I/O设备之间并行工作。工作区用户进程缓冲区1缓冲区2设备缓冲区缓冲区A机B机单缓冲缓冲区缓冲区A机B机双缓冲2024/6/2226第五章 设备管理 在双缓冲时,系统处理一块数据的时间可以粗略地认为是Max(C,T),如果CT,则可使CPU不必等待设备输入。2024/6/2227第五章 设备管理5.3.3 循环缓冲 1.循环缓冲的组成 (1)多个缓冲区 (2)多个指针可分为三种类型:R:空缓冲区 G:已装满数据 C:正使用的缓冲区RGGGRGRGGCRGNextiNextgNexticurrentNextg2024/6/2228第五章 设备管理2.循环缓冲区的使用计算进程和输入进程可利用下面的两个过程使用循环缓冲区。(1)Getbuf过程 当计算进程要使用缓冲区中的数据时,调用它。执行Getbuf后,将Nextg移向下一个G缓冲区,并令Current指向得到的缓冲区C。RGGCRGNexticurrentNextg2024/6/2229第五章 设备管理(2)Releasebuf过程当计算进程把 C缓冲区中的数据提取完毕时,便调用该过程,将缓冲区C释放,改为空缓冲区R。RGCRRGNexticurrentNextg3.进程同步 (1)Nexti追上Nextg(2)Nextg追上Nexti 2024/6/2230第五章 设备管理5.3.4 缓冲池(Buffer Pool)为了提高缓冲区的利用率,提供公用的缓冲区,缓冲池是由多个缓冲区构成。1.缓冲池的组成缓冲池中含有三种类型的缓冲区:(1)空缓冲区;(2)装满输入数据的缓冲区;(3)装满输出数据的缓冲区。形成三个队列:(1)空缓冲队列emq;(2)输入队列inq;(3)输出队列 outq.2024/6/2231第五章 设备管理三个队列:F(emq)L(emq)F(inq)L(inq)L(outq)F(outq)2024/6/2232第五章 设备管理2.Getbuf 过程和过程和 Putbuf 过程过程 为使诸进程能互斥地访问缓冲池队列,为每为使诸进程能互斥地访问缓冲池队列,为每一队列设置一个互斥信号量一队列设置一个互斥信号量MS(type).为了保证诸进程同步地使用缓冲区,为每个为了保证诸进程同步地使用缓冲区,为每个缓冲队列设置一个资源信号量缓冲队列设置一个资源信号量RS(type).既可实现互斥又可保证同步的既可实现互斥又可保证同步的Getbuf 过程过程和和Putbuf 过程描述如下:过程描述如下:2024/6/2233第五章 设备管理Procedure Getbuf(type)Begin Wait(RS(type);Wait(MS(type);B(number):=Takebuf(type);signal(MS(type);End;Procedure putbuf(type,number)Begin Wait(MS(type);Addbuf(type,number);signal(MS(type);signal(RS(type);End;2024/6/2234第五章 设备管理3.缓冲区的工作方式缓冲区可以工作在收容输入、提取输入、收容输出、和提取输出四种工作方式下,如图515 缓冲区的工作方式:hinsinhoutsout收容输入提取输出用户程序提取输入收容输出2024/6/2235第五章 设备管理5.4 设 备 分 配在多道环境下,系统中的设备供所有的进在多道环境下,系统中的设备供所有的进程共享。不允许进程自行使用,必须由程共享。不允许进程自行使用,必须由系统统一分配。(为什么?)系统统一分配。(为什么?)5.4.1 设备分配中的数据结构设备分配中的数据结构1.设备控制表设备控制表 DCT系统为每一个设备都配置了一张,用于记系统为每一个设备都配置了一张,用于记录本设备的情况。录本设备的情况。2024/6/2236第五章 设备管理图 516 设备控制表设备类型type设备标识符:deviceid设备状态:等待 忙指向控制器表的指针重复执行次数或时间设备队列的队首指针DCT1DCT2DCT3DCT4.设备控制表集合2024/6/2237第五章 设备管理2.控制器表、通道表和系统设备表图517 COCT、CHCT和 SDT 表:控制器标识符控制器状态与其连接的通道表控制器队列首指针控制器队列尾指针通道标识符通道状态:忙/闲与其连接的控制器通道队列队首指针通道队列队尾指针(a)控制器表COCT(b)通道表CHCT设备类设备标识符DCT驱动程序入口(c)系统设备表SDT2024/6/2238第五章 设备管理5.4.2 设备分配时应考虑的因素设备分配时应考虑的因素1.设备的固有属性设备的固有属性设备的属性不同,采取的分配策略也不同。设备的属性不同,采取的分配策略也不同。(1)独占设备:将一个设备分配给某进程后,独占设备:将一个设备分配给某进程后,便由该进程独占,直到该进程完成或释放,便由该进程独占,直到该进程完成或释放,才再分配给其它进程。才再分配给其它进程。(2)共享设备:可同时分配给多个进程使用。共享设备:可同时分配给多个进程使用。(3)虚拟设备:可同时分配给多个进程使用。虚拟设备:可同时分配给多个进程使用。2.设备分配算法设备分配算法(1)先来先服务。按设备请求队列顺序分配。先来先服务。按设备请求队列顺序分配。(2)优先级高者优先。有利于高优先级的进程优先级高者优先。有利于高优先级的进程尽快完成。尽快完成。2024/6/2239第五章 设备管理3.设备分配中的安全性设备分配中的安全性从安全性考虑,设备分配有以下两种方式:从安全性考虑,设备分配有以下两种方式:1)安全分配方式安全分配方式 进程发出进程发出I/O 请求后,便进入阻塞状态,请求后,便进入阻塞状态,直到其直到其I/O 操作完成时才被唤醒。操作完成时才被唤醒。摒弃摒弃“请求并保持请求并保持”条件,使设备分配是条件,使设备分配是安全的,但进程进展缓慢,安全的,但进程进展缓慢,CPU与与I/O设备设备是串行工作的。是串行工作的。2)不安全分配方式不安全分配方式 进程在发出进程在发出 I/O 请求后仍然继续运行。请求后仍然继续运行。可能具备可能具备“请求并保持请求并保持”条件。条件。2024/6/2240第五章 设备管理 设备分配中的安全性安全分配方式安全分配方式:每当进程发出:每当进程发出I/OI/O请求和获得某种请求和获得某种设备设备(资源资源)后,便进入阻塞状态后,便进入阻塞状态(使其不可能再请使其不可能再请求任何资源而在它运行时又不保持任何资源求任何资源而在它运行时又不保持任何资源),直,直到其到其I/OI/O操作完成时才被唤醒。分配安全,但操作完成时才被唤醒。分配安全,但CPUCPU与与I/OI/O设备串行工作,进展慢。设备串行工作,进展慢。不安全分配方式:不安全分配方式:进程发出进程发出I/OI/O请求后仍继续运行,请求后仍继续运行,需要时又可发出第二、第三个需要时又可发出第二、第三个I/OI/O请求;仅当进程请求;仅当进程所请求的设备已被另一进程占用时,进程才进入所请求的设备已被另一进程占用时,进程才进入阻塞状态。同一进程可同时操作多台设备,故推阻塞状态。同一进程可同时操作多台设备,故推进迅速;为避免死锁,需进行安全性计算。进迅速;为避免死锁,需进行安全性计算。2024/6/2241第五章 设备管理 5.4.3 设备独立性设备独立性 1.设备独立性的概念设备独立性的概念 物理设备:物理设备:能实际进行输入输出的设备。能实际进行输入输出的设备。逻辑设备:逻辑设备:以功能、特点相区别的设备,并不以功能、特点相区别的设备,并不对应一个具体的设备,往往对应一批设备。对应一个具体的设备,往往对应一批设备。设备独立性设备独立性(无关性无关性):在应用程序中,只能使:在应用程序中,只能使用逻辑设备名,提出用逻辑设备名,提出 I/O请求,而不能使用请求,而不能使用物理设备名。物理设备名。(或应用程序独立于具体使用的物理设备。或应用程序独立于具体使用的物理设备。)2024/6/2242第五章 设备管理实现设备独立性的好处:实现设备独立性的好处:1)设备分配时的灵活性设备分配时的灵活性 当进程用逻辑设备名来请求某类设备时,当进程用逻辑设备名来请求某类设备时,系统可在同类设备中寻找一台好的设备分配。系统可在同类设备中寻找一台好的设备分配。2)易于实现易于实现 I/O 重定向重定向 是指用于是指用于I/O 操作的设备可以更换,而不操作的设备可以更换,而不必改变应用程序。必改变应用程序。2.设备独立性软件设备独立性软件 在设备驱动程序之上设置一层软件称为设在设备驱动程序之上设置一层软件称为设备独立性软件。功能:备独立性软件。功能:1)执行所有设备的公有操作执行所有设备的公有操作2)向用户层(或文件层)软件提供统一接口向用户层(或文件层)软件提供统一接口2024/6/2243第五章 设备管理3.逻辑设备名到物理设备名映射的实现逻辑设备名到物理设备名映射的实现1)逻辑设备表逻辑设备表为了实现设备的独立性,系统必须设置一张为了实现设备的独立性,系统必须设置一张逻辑设备表逻辑设备表LUT。逻辑设备名 物理设备名 驱动程序入口地址/dev/tty31024/dev/printer52046:2024/6/2244第五章 设备管理2)LUT的设置问题的设置问题单用户时,整个系统设置一张单用户时,整个系统设置一张LUT 表。表。多用户时,每个用户设置一张多用户时,每个用户设置一张LUT 表。每当用表。每当用户登录时,便为该用户建立一个进程,同时户登录时,便为该用户建立一个进程,同时也为之建立一张也为之建立一张LUT,该表放入进程的该表放入进程的 PCB中。中。LUT 表的形式是:表的形式是:逻辑设备名 系统设备表指针/dev/tty3/dev/printer5:2024/6/2245第五章 设备管理5.4.4 独占设备的分配程序1.基本的设备分配程序系统按下述步骤进行设备分配;根据请求查SDT,DCT表设备忙?忙请求者pcb插入队列分配设备控制器忙?pcb插入控制器队列忙分配控制器通道忙?分配通道Pcb插入通道队列忙否否否分配成功返回2024/6/2246第五章 设备管理2.设备分配程序的改进设备分配程序的改进1)增加设备的独立性增加设备的独立性2)考虑多通路情况考虑多通路情况5.4.5 SPOOLing技术技术1.什么是什么是spooling含义是:联机的外围设备同时操作。含义是:联机的外围设备同时操作。也称为伪脱机输入输出操作。也称为伪脱机输入输出操作。真脱机输入输出操作图示:真脱机输入输出操作图示:卫星机输入井内存卫星机输出井打印机2024/6/2247第五章 设备管理2.SPOOLing系统的组成系统的组成 由三部分组成:由三部分组成:(1)输入井和输出井:在磁盘上开辟的两个大存输入井和输出井:在磁盘上开辟的两个大存储空间。储空间。(2)输入输出缓冲区。在内存中开辟,为了缓和输入输出缓冲区。在内存中开辟,为了缓和CPU 和磁盘之间速度不匹配的矛盾。和磁盘之间速度不匹配的矛盾。(3)输入进程输入进程Spi和输出进程和输出进程Spo。利用两个进利用两个进程来模拟脱机程来模拟脱机I/O 时的外围控制机。时的外围控制机。输入进程输入进程Spi:任务是将慢速设备上的信息任务是将慢速设备上的信息写入输入井。写入输入井。输出进程输出进程Spo:任务是将输出井上的信息读任务是将输出井上的信息读入内存缓冲区,然后从设备输出。入内存缓冲区,然后从设备输出。2024/6/2248第五章 设备管理图 519 SPOOLing 系统的组成输入打印机进程SPi进程SPo输入缓冲区输出缓冲区输入井输出井2024/6/2249第五章 设备管理3.虚拟设备虚拟设备操作系统利用共享设备来模拟独占设备的工作,当系操作系统利用共享设备来模拟独占设备的工作,当系统只有一台输入设备和一台输出设备时,可允许两统只有一台输入设备和一台输出设备时,可允许两个以上的作业并行执行,且每个作业都感觉到获得个以上的作业并行执行,且每个作业都感觉到获得了供自己独占使用的输入和输出设备。我们说,操了供自己独占使用的输入和输出设备。我们说,操作系统采用的这种技术为用户提供了作系统采用的这种技术为用户提供了“虚拟设备虚拟设备”。(1)为什么要提供虚拟设备?为什么要提供虚拟设备?1)占有输入机和打印机的作业,只有一部分时间在使占有输入机和打印机的作业,只有一部分时间在使用它们,不能有效地利用它们。用它们,不能有效地利用它们。2)不能接收两个以上要求使用输入机和打印机的作业不能接收两个以上要求使用输入机和打印机的作业同时执行,不利于多道并行工作。同时执行,不利于多道并行工作。3)由于独占设备低速,延长了作业的执行时间。由于独占设备低速,延长了作业的执行时间。所以现代所以现代OS都提供虚拟设备来解决这些问题。都提供虚拟设备来解决这些问题。2024/6/2250第五章 设备管理(2)实现虚拟设备的条件实现虚拟设备的条件硬件条件:硬件条件:1)配置大容量的磁盘;配置大容量的磁盘;2)配置通道,具有配置通道,具有CPU与通道并行与通道并行 工作的能力工作的能力;3)有中断装置。有中断装置。软件条件软件条件:1)系统应采用多道程序设计技术;系统应采用多道程序设计技术;2)配置配置SPOOLing系统;系统;3)数据结构:作业表、预输入表、数据结构:作业表、预输入表、缓输出表等。缓输出表等。4.SPOOLing系统的特点系统的特点(1)提高了提高了I/O的速度。的速度。(2)将独占设备改造为共享设备。将独占设备改造为共享设备。(3)实现了虚拟设备功能。实现了虚拟设备功能。2024/6/2251第五章 设备管理 5.共享打印机共享打印机 广泛应用于多用户系统和局域网络中广泛应用于多用户系统和局域网络中1)用户进程提出打印输出请求)用户进程提出打印输出请求2)输出进程在输出井中为之申请一空闲盘块区,)输出进程在输出井中为之申请一空闲盘块区,并将要打印的数据送入其中并将要打印的数据送入其中3)输出进程为用户进程申请一张空白的用户请)输出进程为用户进程申请一张空白的用户请求打印表,并将用户打印要求填入其中和把该求打印表,并将用户打印要求填入其中和把该表挂到表挂到请求打印队列请求打印队列上上4)输出进程视打印机空闲与否从请求打印队列)输出进程视打印机空闲与否从请求打印队列队首取出一张用户请求打印表,并按对应要求队首取出一张用户请求打印表,并按对应要求将打印数据从输出井传送到内存缓冲区并打印将打印数据从输出井传送到内存缓冲区并打印5)输出进程在请求打印队列为空时将阻塞自己,)输出进程在请求打印队列为空时将阻塞自己,直到再次有打印请求出现时才被唤醒。直到再次有打印请求出现时才被唤醒。2024/6/2252第五章 设备管理5.5 设设 备备 处处 理理设备处理程序又称为设备驱动程序(进程)。设备处理程序又称为设备驱动程序(进程)。主要任务:接收上层软件发来的抽象要求,如读命主要任务:接收上层软件发来的抽象要求,如读命令,再把它转换为具体要求后,发送给设备控制令,再把它转换为具体要求后,发送给设备控制器,启动设备去执行;此外,它也将由设备控制器,启动设备去执行;此外,它也将由设备控制器发来的信号传送给上层软件。器发来的信号传送给上层软件。设备驱动程序与硬件密切相关,应为每一类设备配设备驱动程序与硬件密切相关,应为每一类设备配置一种驱动程序。置一种驱动程序。2024/6/2253第五章 设备管理5.5.1 设备驱动程序的功能和特点设备驱动程序的功能和特点1.设备驱动程序的功能设备驱动程序的功能(1)接收由接收由I/O 进程发来的命令和参数,将抽象的要进程发来的命令和参数,将抽象的要求转换为具体的要求。求转换为具体的要求。(2)检查用户检查用户I/O 请求的合法性,了解请求的合法性,了解I/O 设备的状设备的状态,传递有关参数,设置设备的工作的方式。态,传递有关参数,设置设备的工作的方式。(3)发出发出I/O命令,如果设备空闲,便立即启动设备命令,如果设备空闲,便立即启动设备工作;若设备忙,则将请求块挂在设备队列等待。工作;若设备忙,则将请求块挂在设备队列等待。(4)及时响应由控制器或通道发来的中断请求,及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行并根据其中断类型调用相应的中断处理程序进行处理。处理。(5)对设置有通道的计算机,驱动程序还要根据用户对设置有通道的计算机,驱动程序还要根据用户的的I/O 请求,自动地构成通道程序,首地址送入请求,自动地构成通道程序,首地址送入CAW(通道地址字)中。通道地址字)中。2024/6/2254第五章 设备管理对设置有通道的计算机,驱动程序的功能:对设置有通道的计算机,驱动程序的功能:(1)根据用户的根据用户的I/O 请求,构成通道程序请求,构成通道程序,并将并将通道程序的首地址送入通道程序的首地址送入CAW(通道地址字通道地址字);(2)向通道发出启动命令,启动通道、设备工向通道发出启动命令,启动通道、设备工作。作。(3)处理来自通道、设备的中断。处理来自通道、设备的中断。2024/6/2255第五章 设备管理 2.设备处理方式设备处理方式 分为三类:分为三类:(1)为每一类设备设置一个进程,专门用于执行为每一类设备设置一个进程,专门用于执行这类设备的这类设备的I/O操作。操作。(2)在整个系统中设置一个在整个系统中设置一个I/O 进程,也可设进程,也可设一个输入进程,一个输出进程。一个输入进程,一个输出进程。(3)不设置专门的设备处理进程,而只为各类设不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块),供用户备设置相应的设备处理程序(模块),供用户进程或系统进程调用。进程或系统进程调用。2024/6/2256第五章 设备管理3.设备驱动程序的特点设备驱动程序的特点(1)它是请求它是请求I/O 的进程与设备控制器之间的的进程与设备控制器之间的一个通信和转换程序。一个通信和转换程序。(2)驱动程序与设备控制器和驱动程序与设备控制器和I/O设备的硬件设备的硬件特性紧密相关,因而对不同类型的设备应配特性紧密相关,因而对不同类型的设备应配置不同的驱动程序。置不同的驱动程序。(3)驱动程序与驱动程序与I/O设备所采用的设备所采用的I/O控制方式控制方式紧密相关。紧密相关。(4)程序一部分必须用汇编语言书写。一般固化程序一部分必须用汇编语言书写。一般固化在在ROM中。中。2024/6/2257第五章 设备管理5.5.2 设备驱动程序的处理过程设备驱动程序的处理过程设备驱动程序可分为两部分:设备驱动程序可分为两部分:(1)驱动设备工作的程序;驱动设备工作的程序;(2)设备中断处理程序。设备中断处理程序。设备驱动程序的主要任务是:启动指定设备。设备驱动程序的主要任务是:启动指定设备。设备驱动程序的处理过程:设备驱动程序的处理过程:1.将抽象要求转换为具体要求将抽象要求转换为具体要求将盘块号转换为磁盘地址:面号(磁头号)、将盘块号转换为磁盘地址:面号(磁头号)、柱面号(磁道号)、扇区号。柱面号(磁道号)、扇区号。2.检查检查I/O 请求的合法性请求的合法性若在打开这些设备时规定的是读,则用户的写请求必若在打开这些设备时规定的是读,则用户的写请求必然被拒绝。然被拒绝。2024/6/2258第五章 设备管理3.读出和检查设备的状态读出和检查设备的状态在启动某个设备进行在启动某个设备进行I/O操作时,其前提条件应是该设操作时,其前提条件应是该设备正处于空闲状态。备正处于空闲状态。4.传送必要的参数传送必要的参数在启动磁盘进行读在启动磁盘进行读/写之前,应先将本次要传送的字节数写之前,应先将本次要传送的字节数和数据应到达的主存始址,送入控制器的相应寄存器和数据应到达的主存始址,送入控制器的相应寄存器中。中。5.工作方式的设置工作方式的设置应按通信规程设定参数。应按通信规程设定参数。6.启动启动I/O 设备设备上述各项准备工作后,向控制器中的命令寄存器传送相上述各项准备工作后,向控制器中的命令寄存器传送相应的控制命令。应的控制命令。设备启动后驱动进程把自己阻塞,直到中断来,才将其设备启动后驱动进程把自己阻塞,直到中断来,才将其唤醒。唤醒。2024/6/2259第五章 设备管理5.5.3 中断处理程序的处理过程中断处理程序的处理过程I/O设备完成设备完成I/O操作后,设备控制器便向操作后,设备控制器便向CPU发送一中断请求,发送一中断请求,CPU每当执行完一条指令后,每当执行完一条指令后,中断装置开始扫描中断装置开始扫描中断源寄存器,中断源寄存器,若有中断请若有中断请求,且没有屏蔽的情况下,求,且没有屏蔽的情况下,CPU响应后便转向响应后便转向中断处理程序进行处理;若无中断请求,中断处理程序进行处理;若无中断请求,CPU 继续取下一条指令执行。继续取下一条指令执行。为每一类设备设置一个为每一类设备设置一个I/O 进程的设备处理方式,进程的设备处理方式,其中断处理程序过程分成以下几个步骤:其中断处理程序过程分成以下几个步骤:1.唤醒被阻塞的驱动(程序)进程唤醒被阻塞的驱动(程序)进程2.保护被中断进程的保护被中断进程的CPU 环境环境 包括:包括:PSW,PC,通用寄存器等,压入中断通用寄存器等,压入中断栈栈。2024/6/2260第五章 设备管理图 520 中断现场保护示意图PSW程序状态字PC(N+1):LOAD 1,200开始返回PSWPC(N+1)R0:RN程序计数器R0:T栈指针NN+1RN寄存器T+MY 用户程序中断服务子例程中断栈T2024/6/2261第五章 设备管理3.转入相应的设备处理程序转入相应的设备处理程序 由中断装置负责将相应的设备中断处理程序的由中断装置负责将相应的设备中断处理程序的入口地址装入到程序计数器中,使处理机转入口地址装入到程序计数器中,使处理机转向中断处理程序。向中断处理程序。4.中断处理中断处理对不同的设备,有不同的中断处理程序。对不同的设备,有不同的中断处理程序。流程如下图:流程如下图:5.恢复被中断进程的现场恢复被中断进程的现场中断处理完后,将保存在中断栈中的被中断进中断处理完后,将保存在中断栈中的被中断进程的现场信息取出,并装入到相应的寄存器程的现场信息取出,并装入到相应的寄存器中。中。2024/6/2262第五章 设备管理设备中断处理:从设备控制器读状态中断正常?做正常结束处理,唤醒被阻塞的进程组织新一轮数据传送转异常处理异常正常还有启动该设备的命令?有无返回2024/6/2263第五章 设备管理图 521 中断处理流程唤醒被阻塞的驱动程序进程对被中断进程的CPU 环境保护分析中断原因,转入相应处理终端中断处理打印机中断处理磁盘中断处理恢复被中断进程的CPU现场返回被中断的进程,继续执行中断请求信号2024/6/2264第五章 设备管理5.6 磁盘存储器管理磁盘存储器管理磁盘是一个随机存取设备,存取速度快。磁盘是一个随机存取设备,存取速度快。磁盘磁盘I/O 速度的高低和磁盘系统的可靠性,都速度的高低和磁盘系统的可靠性,都将直接影响到系统性能。将直接影响到系统性能。5.6.1 磁盘性能简述磁盘性能简述1.数据的组织和格式数据的组织和格式如下图所示.2024/6/2265第五章 设备管理 移动臂移动臂读写磁头读写磁头盘面盘面柱面柱面磁道扇区轴硬磁盘结构:2024/6/2266第五章 设备管理磁盘地址磁盘地址:磁道号磁道号(柱面号柱面号)、磁头号及扇区号、磁头号及扇区号2.磁盘的类型磁盘的类型1)固定头磁盘固定头磁盘在每条磁道上都有一读在每条磁道上都有一读/写磁头,并行读写磁头,并行读/写。写。2)移动头磁盘移动头磁盘每一个盘面仅配有一个磁头。为能访问该盘面每一个盘面仅配有一个磁头。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻上的所有磁道,该磁头必须能移动以进行寻道。道。3.磁盘访问时间磁盘访问时间1)寻道时间寻道时间 把磁臂(磁头)移动到指定磁道上所经历的把磁臂(磁头)移动到指定磁道上所经历的时间。时间。2024/6/2267第五章 设备管理2)旋转延迟时间旋转延迟时间指定扇区移动到磁头下面所经历的时间。指定扇区移动到磁头下面所经历的时间。3)传输时间传输时间把数据从磁盘读出或向磁盘写入数据所经历的把数据从磁盘读出或向磁盘写入数据所经历的时间。时间。寻道时间和旋转延迟时间基本上都与所读寻道时间和旋转延迟时间基本上都与所读/写数写数据的多少无关,与访问的扇区位置有关,而据的多少无关,与访问的扇区位置有关,而且它通常占据了访问时间中的大头。传输时且它通常占据了访问时间中的大头。传输时间是硬件设计时就固定的。间是硬件设计时就固定的。适当地集中数据传输,将有利于提高传输效率。适当地集中数据传输,将有利于提高传输效率。2024/6/2268第五章 设备管理5.6.2 磁盘调度磁盘调度磁盘调度分为:磁盘调度分为:移臂调度和旋转调度移臂调度和旋转调度移臂调度的目的是为了减少寻找时间。移臂调度的目的是为了减少寻找时间。旋转调度的目的是为了减少延迟时间。旋转调度的目的是为了减少延迟时间。下面介绍的是移臂调度算法:下面介绍的是移臂调度算法:1.先来先服务先来先服务 FCFS算法不考虑访问者要求访问的物理位置,而只算法不考虑访问者要求访问的物理位置,而只是考虑访问者提出访问请求的先后次序。是考虑访问者提出访问请求的先后次序。2024/6/2269第五章 设备管理例:现读写磁头正在53号柱面上执行输入输出操作,而等待访问者依次要访问的柱面为 98,183,37,122,14,124,65,67.所有的请求访问完,总共移动多少个柱面?0 14 37 53 65 67 98 122 124 183总移动640个柱面。2024/6/2270第五章 设备管理也可用下面的方法表示:现读写磁头正在53号柱面上执行输入输出操作,而等待访问者依次要访问的柱面为98,183,37,122,14,124,65,67.所有的请求访问完,总共移动多少个柱面?53 98 183 37 122 14 124 65 67458514685108110592总共移动45+85+146+85+108+110+59+2=640个柱面2024/6/2271第五章 设备管理2.最短寻道时间优先 SSTF该算法选择:其要求访问的磁道,与当前磁头所在的磁道距离最近。例:现读写磁头正在53号柱面上执行输入输出操作,而等待访问者依次要访问的柱面为:98,183,37,122,14,124,65,67.所有的请求访问完,总共移动多少个柱面?0 14 37 53 65 67 98 122 124 183总移动236个柱面。2024/6/2272第五章 设备管理3.扫描(SCAN)算法又称为电梯调度算法。考虑两个条件必须同时满足:1)与磁头当前的移动方向一致;2)离当前磁头距离最近者。才对这个请求访问。例:现读写磁头正在53号柱面上执行输入输出操作,而等待访问者依次要访问的柱面为 98,183,37,122,14,124,65,67.所有的请求访问完,总共移动多少个柱面?2024/6/2273第五章 设备管理(1)由里向外移:总共移动208个柱面0 14 37 53 65 67 98 122 124 183(2)由外向里移:总共移动299个柱面0 14 37 53 65 67 98 122 124 1832024/6/2274第五章 设备管理4.循环扫描CSCAN算法规定磁头单向移动 0 14 37 53 65 67 98 122 124 1832024/6/2275第五章 设备管理5.6.3 磁盘高速缓存磁盘高速缓存(Disk Cache)磁盘的磁盘的I/O速度远低于对内存的访问速度,人速度远低于对内存的访问速度,人们千方百计地去提高磁盘们千方百计地去提高磁盘I/O 的速度,其中的速度,其中最主要的技术,便是采用磁盘高速缓存。最主要的技术,便是采用磁盘高速缓存。1.磁盘高速缓存的形式磁盘高速缓存的形式(1)在内存中开辟一个单独的存储空间来作为磁在内存中开辟一个单独的存储空间来作为磁盘高速缓存,大小固定;盘高速缓存,大小固定;(2)把所有未利用的内存空间变为一个缓冲池,把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘供请求分页系统和磁盘 I/O 时共享。时共享。2.数据交付方式数据交付方式指将磁盘高速缓存中的数据传送给请求者进程。指将磁盘高速缓存中的数据传送给请求者进程。2024/6/2276第五章 设备管理处理流程:进程请求访问某块中的数据要求的数据在磁盘高速缓存?从高速缓存中提取数据先从磁盘中将所需的数据读入在不在将数据交给请求者将数据交给请求者将数据送高速缓存返回2024/6/2277第五章 设备管理3.置换算法置换算法当缓冲区满时,存在置换问题。较常用的置换算法是最近最久未使用算法LRU、最近未使用算法NRU 及最少使用算法LFU等。还考虑:(1)访问频率 (2)可预见性 (3)数据的一致性4.周期性地写回磁盘周期性地写回磁盘避免数据丢失。避免数据丢失。5.6.4 提高磁盘提高磁盘I/O 速度的其它方法速度的其它方法 1.提前读:为了加快对文件的访问,减少等待。2.延迟写:为了减少I/O启动次数,节省盘空间。2024/6/2278第五章 设备管理3.优化物理块的分布优化物理块的分布使磁头的移动距离最小。使磁头的移动距离最小。例:记录在磁道上的排列方式会影响输入输出例:记录在磁道上的排列方式会影响输入输出操作的时间。操作的时间。某系统对磁盘初化时把每个盘面分成某系统对磁盘初化时把每个盘面分成 8个扇区,个扇区,今有今有8个逻辑记录被存放在同一个磁道上供处个逻辑记录被存放在同一个磁道上供处理程序使用,要顺序处理这理程序使用,要顺序处理这8个记录。每次请个记录。每次请求从磁盘上读一个记录,然后对读出的记录求从磁盘上读一个记录,然后对读出的记录要花要花 5毫秒的时间处理,磁盘转速为毫秒的时间处理,磁盘转速为 20毫秒毫秒/周。现把这周。现把这8个逻辑记录依次存放个逻辑记录依次存放在磁道上,如图所示。在磁道上,如图所示。2024/6/2279第五章 设备管理(a)顺序存放 读一个记录要花2.5毫秒,花5毫秒时间进行处理 处理这8个记录要花费的时间为:8*(2.5+5)+7*(6*2.5)=165(ms)(b)优化分布 8*(2.5+5)=60(ms)12345876始点 13852746始点旋转方向旋转方向2024/6/2280第五章 设备管理4.虚拟盘 利用内存空间去仿真磁盘,是易失性存储器,无需格式化,可接受所有标准的磁盘操作,都在内存中进行。2024/6/2281第五章 设备管理 5.7 内容总结内容总结一一.设备管理的目标?设备管理的目标?二二.概念:独占设备概念:独占设备 共享设备共享设备 虚拟设备虚拟设备 块设备块设备 字符设备字符设备 逻辑设备逻辑设备三三.什么是通道?什么是通道?CPU与通道如何并行工作?与通道如何并行工作?(下图所下图所示的流程图示的流程图)四四.I/O控制方式的演变控制方式的演变 1.程序程序I/O方式方式 2.中断驱动中断驱动I/O 控制方式控制方式 3.DMA I/O控制方式控制方式 4.通道通道I/O 控制方式控制方式2024/6/2282第五章 设备管理 中央处理器 设备用户程序 操作系统 通 道 控制器 进程i 保护进程现场 判断状态 请求启动 组织通道程序 形成条件码 外设INT 首址存CAW 执行通道程序 启动外设 控制设备工作 执行 进程j 分析条件码 情况记录 规定 成功i等待 设备工作完 操作 调度选j进程 CSW送主存 保护 j 现场 通道号设备号 进程i/j 分析处理中断 送特定寄存器 或其他 选可运行进程2024/6/2283第五章 设备管理五五.缓冲区管理:引入缓冲区的目的?利用缓冲区实现预缓冲区管理:引入缓冲区的目的?利用缓冲区实现预先读、延迟写功能?先读、延迟写功能?六六.什么叫设备独立性?引入设备独立性的好处?什么叫设备独立性?引入设备独立性的好处?如何实现?独占设备分配流程图。如何实现?独占设备分配流程图。七七.何谓何谓SPOOLing系统?组成?特点?说明通过系统?组成?特点?说明通过 SPOOLing技术如何实现缓输出功能技术如何实现缓输出功能(共享打印机共享打印机)?八八.设备驱动程序的功能?设备处理程序的处理过程?设备驱动程序的功能?设备处理程序的处理过程?若系统连接通道,驱动程序工作包括哪些?若系统连接通道,驱动程序工作包括哪些?1.按用户要求构造通道程序,首址存入按用户要求构造通道程序,首址存入CAW;2.启动通道、设备工作;启动通道、设备工作;3.处理来自通道、设备的中断请求。处理来自通道、设备的中断请求。2024/6/2284第五章 设备管理九九.中断处理中断处理1.何时由谁发现设备中断请求?何时由谁发现设备中断请求?2.怎样转入操作系统中断处理?怎样转入操作系统中断处理?3.操作系统如何处理中断?操作系统如何处理中断?十十.磁盘移臂调度算法磁盘移臂调度算法,各算法服务的顺序,总移动磁道各算法服务的顺序,总移动磁道 数,总共花费寻找时间。数,总共花费寻找时间。旋转调度算法:旋转调度算法:请求次序请求次序 柱面号柱面号 磁头号磁头号 扇区号扇区号 (1)5 4 1 (2)5 1 5 (3)5 4 5 (4)5 2 8执行次序是:执行次序是:(1)(2)(4)(3)或或 (1)(3)(4)(2)2024/6/2285第五章 设备管理例:假设某磁盘有例:假设某磁盘有200200个磁道,磁头从一个磁道移至另一个磁道,磁头从一个磁道移至另一个磁道需要个磁道需要5 5msms。文件在磁道上非连续存放,逻辑上相邻文件在磁道上非连续存放,逻辑上相邻的数据块的平均距离为的数据块的平均距离为8 8个磁道,每块的平均旋转延迟个磁道,每块的平均旋转延迟时间是时间是5050msms,传输时间是传输时间是1010msms。问:问:(1 1)读取有)读取有2020个块的文件需要多少时间?个块的文件需要多少时间?(2 2)若系统对磁盘进行整理,让同一个文件的盘块尽量)若系统对磁盘进行整理,让同一个文件的盘块尽量靠拢,使逻辑上相邻的数据块平均距离为靠拢,使逻辑上相邻的数据块平均距离为3 3个磁道,这个磁道,这时读取一个有时读取一个有2020个块的文件需要多少时间?个块的文件需要多少时间?解解:(1)(1)磁盘整理前,读一块数据需要的时间为:磁盘整理前,读一块数据需要的时间为:8*5+50+10=100 8*5+50+10=100ms ms 读取有读取有2020个块的文件需要个块的文件需要 100 100ms*20=2000msms*20=2000ms(2)(2)磁盘整理后磁盘整理后,读一块数据需要的时间为:读一块数据需要的时间为:3*5+50+10=75 3*5+50+10=75ms ms 读取有读取有2020个块的文件需要个块的文件需要 75 75ms*20=1500msms*20=1500ms2024/6/2286第五章 设备管理谢谢!谢谢!8788
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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