昆明理工大学 付湘琼《操作系统》第5章设备管理.ppt_第1页
昆明理工大学 付湘琼《操作系统》第5章设备管理.ppt_第2页
昆明理工大学 付湘琼《操作系统》第5章设备管理.ppt_第3页
昆明理工大学 付湘琼《操作系统》第5章设备管理.ppt_第4页
昆明理工大学 付湘琼《操作系统》第5章设备管理.ppt_第5页
已阅读5页,还剩140页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

设备管理 Copyright by Computer Department 第五章 设备管理 福州大学数计学院 主讲: 单红 设备管理 Copyright by Computer Department 在现代计算机系统中,为了实现与外界间 的信息交往,更好地方便用户使用计算机,一 般都配置了一系列各种类型的外围设备,例如 :键盘,打印机,显示器,磁带机,卡片机, 磁盘,磁鼓等。这些外围设备,由于其构造和 物理特性各异,故在应用方式上风格各不相同 ,在管理方法上也有决然差别。 设备管理 Copyright by Computer Department 为了有效地完成对各类外围设备的管理,更 好地提高外设资源的利用率,并在用户面前提 供一种方便、统一的接口界面,在操作系统的 设备管理子系统中,承担了各种设备的分配、 管理及I/O操作控制任务。 让用户使用的设备与系统中实际连接的物理 设备分离开,使用户在不需要了解底层设备资 源的状况下,就可以采用逻辑设备名方便地使 用外围设备,而逻辑设备到物理设备的转换工 作则由系统自己完成。 设备管理 Copyright by Computer Department 本章所涉及的内容,主要是针对在现代 计算机系统中,为充分合理利用各类设备资 源而采起的各种分配管理策略,以及与之有 关的各类技术问题,作出进一步的深入讨论 ,弄清设备管理中的各功能是如何实现的。 在学习中,应以设备的类型划分为基础,正 确区分独占资源与共享资源的不同管理办法 ,并对虚拟设备的任务是什么,通道技术、 缓冲技术、中断技术起什么作用,数据在I/O 系统中的传输方式有几种等方面的概念有一 清晰的认识,对设备管理的一般原理和方法 形成全面、总体的了解。 设备管理 Copyright by Computer Department 5.1 设备类型和设备管理子系统的功能 5.2 设备管理中的两种支撑技术 5.3 I/O系统中数据的传输控制 5.4 设备分配 5.5 共享设备的驱动调度 5.6 虚拟设备 设备管理 Copyright by Computer Department 5.1设备类型和设备管理子系统的功能 5.1.1设备类型 在计算机系统中,除了作为操作处理 时使用的CPU以及存储信息时用的存储器 之外,还有一类比较重要的硬件资源 I/O设备。I/O设备是计算机与外界进行信 息交换的装置,因此,在各种类型的计算 机中都配置有一定数量的I/O设备,这些 设备可以从不同的角度进行分类。常见的 有下列几种: 设备管理 Copyright by Computer Department 存储设备 输入输出设备 终端设备 脱机设备 外围设备 设备管理 Copyright by Computer Department 磁带机硬盘光盘绘图仪 扫描仪键盘打印机 设备管理 Copyright by Computer Department 1.以设备的隶属关系划分: 1)系统设备(System Device):这类设 备属于计算机中最基本的标准配置设备, 常常在操作系统启动时自动完成设备的登 录。如打印机、键盘、显示器和磁盘驱动 器等都属于这种类型的设备。 2)用户设备(User Device):这类设备 属于非标准配置,可由用户根据实际需要 连入系统,在使用之前通过运行对应的驱 动程序进行安装、登录。如绘图仪、扫描 仪等。 设备管理 Copyright by Computer Department 2按信息组织方式划分: 1)字块设备(Block Device):这种设备也称为 存储型设备,在其上信息的组织、安排,都以块 为单位进行,在进行存取访问时,也是以块进行 计量的。常见的有磁盘驱动器、磁带机、磁鼓等 。 2)字符设备(Character Device):字符设备上 的信息,是以字符为单位来组织安排的,这类设备 也称为输入/输出型设备.在信息存取调用时,都是 以字符为单位来访问的。如键盘、纸带输入机、 磁卡机等 属于该类型设备。 设备管理 Copyright by Computer Department 3.从资源分配角度进行划分 1)独占设备(Independence Device):一 次只允许分给一个用户作业使用的设备。 设备一旦被分出去后,在作业的整个执行 期间都被单独占用,别的作业不能与之共 用,必须等占用释放后才可再用。而且, 这类设备如果分配不当,可能会造成死锁 。多数是一些慢速设备,如磁卡机、打印 机、A/D、D/A转换器等。 设备管理 Copyright by Computer Department 2)共享设备(Share Device):一次可 以允许多个作业同时进行访问的设备。 各作业在执行期间内,可以交替分时地 对共享设备进行占用。它是一个作业还 未撤离设备,另一个作业便可使用的设 备。常见的有磁盘、磁鼓等。 设备管理 Copyright by Computer Department 3)虚拟设备(Virtual Device):严格来 讲,虚拟设备是一种设备管理的技术。采 用该技术可以使慢速独占设备的使用方式 变为共享设备的使用方式,以利于独占设 备使用效率的提高。在现代计算机系统中 ,主要采用了SPOOLING系统来实现以完成 此功能。 设备管理 Copyright by Computer Department 5.1.2 设备管理子系统的主要功能 设备管理属于操作系统中最烦琐、 最具复杂性的部分。为了有效的提高系统 中设备的效率,在设备管理中不仅涉及了 I/O中断、缓冲及通道技术,而且还包括了 各种类型设备的分配、启动以及虚拟设备 等多方面的管理。为了对物理特性各异的 设备,在调用时具有统一的格式和界面,以 方便用户,在设备管理中应追求如下的目标 : 设备管理 Copyright by Computer Department (1)建立方便、一致的用户界面 (2)尽量使CPU与外围设备、外设与 外设之间的并行处理能力提高 (3)充分发挥 I/O设备的效率 设备管理 Copyright by Computer Department 为实现目标要求,作为设备管理子系统,应具 备以下功能: 1)完成设备的分配和回收。对类型不相同的设 备,采取不同的分配策略将设备及其 它相关的 硬件分配给申请设备的进程,对当前不能分配资 源的进程,应将它们排到对应的等待队列中。进 程使用完设备后,系统应及时收回。 2)实现缓冲区的管理。CPU的运行速度往往高于 外设的处理速度,为了缓解两者间 的矛盾,使 外设与CPU在处理速度上尽量匹配,系统通过设 置缓冲区来完成此任务。缓冲区的分配、回收及 管理工作由设备管理部分实现. 设备管理 Copyright by Computer Department 3)控制I/O设备的启动。在计算机中,为保 证设备调用的灵活性和可靠性,并使用户负 担减轻,设备的启动由系统自己完成,不允 许用户直接启动设备。 4)进行I/O事件的中断处理。具有通道的计 算机系统中,I/O操作的控制是由通道执行 通道程序来实现的。通道与CPU的协调操作 依靠I/O中断信号来指挥,当I/O中断信号出 现时,设备管理负责I/O中断事件的处理。 设备管理 Copyright by Computer Department 5)管理共享设备的驱动调度。共享设备在 使用上允许多个作业交替启动占用不同的 区域,故对它们不能预分配,用时才分。 这使分配变为什么时候为谁服务的问题, 即驱动调度问题。 6)提供虚拟设备。为提高独占设备的利用 率,用共享设备模拟独占设备,使独占设 备的使用变为共享使用。为达到此目的, 在设备管理中提供了一个SPOOLING系统。 设备管理 Copyright by Computer Department 5.2 设备管理中的两种支撑技术 5.2.1 缓冲技术 在设备管理中,采用通道技术,虽可以实现 CPU与外设的并行工作方式,但CPU的速度一般总 是比外设快许多。为了进一步改善CPU与外设之间 的速度不匹配的矛盾,解决通道占用时的阻塞现 象,提高CPU通道及外设设备之间的并行性,延长 CPU对中断的响应时间,减少CPU的中断次数,有 效地延长设备使用时间,并有效解决物理记录大 小与逻辑记录大小不一致的问题,在操作系统中 引入了缓冲技术。 设备管理 Copyright by Computer Department 1、缓冲技术的实现原理 当某个进程进行数据输出操作时,先将数据 送入缓冲区,当缓冲区满时再将缓冲区的内容送 到输出设备上;反之,当一个进程完成输入操作 时,先将输入设备上的数据送入缓冲区,当缓冲 区满时,再由CPU将数据取走。在缓冲管理中必 须建立缓冲区,缓冲区的设定有两种方式:可以 采用专门的硬件方法来实现缓冲,但会增加硬件 成本,除了在关键的地方采用少量必要的硬件缓 冲器外,在许多操作系统中都采用另一种称为软 件缓冲的方式,即从主存空间中划定出一个特殊 的内存区域作为缓冲区。 设备管理 Copyright by Computer Department 单缓冲是在系统的CPU与外设之间只设立一 个缓冲区,输入与输出操作全部经该缓冲 区来完成。当输入设备占用缓冲区时,输 出设备必须处于等待状态;而当输出设备 正在缓冲区将数据取走时,输入设备也必 须等待,其工作方式是串行完成的。此时 ,缓冲区成了可共享的临界资源,必须互 斥占用,不可能实现并行工作。 设备管理 Copyright by Computer Department 单缓冲的结构如图5-1 5-1 单缓冲 cpu 缓冲区 输入设备 输出设备 设备管理 Copyright by Computer Department 2双缓冲管理 由于单缓冲不能实现并行处理,为避免单缓 冲造成的设备利用率不高的状况,可引入双缓冲 技术,为输入或输出分配两个缓冲区(如图x-2) ,并让两个缓冲区交替工作,就可以形成并行操 作的方式。当输入或是输出时,外设先占用一个 缓冲区,等当该缓冲区满后,再转去占用另一个 缓冲区,同时第一个缓冲区中的数据可被取走, 缓冲区可以释放,当另一个缓冲区满后,设备又 可转过来占用被释放的缓冲区。这样交替占用的 缓冲区,可以使CPU与外设间的并行度进一步提高 。 设备管理 Copyright by Computer Department x-2 双缓冲 设备管理 Copyright by Computer Department 双缓冲不可能彻底解决在实际系统中的并 行操作,由于计算机中配备有多种外围设 备,CPU与外设的速度匹配全部由双缓冲来 承担是不能胜任的。为此,必须使用多缓 冲或是缓冲池结构来解决并行问题。 下面 举一个例子来说明双缓冲的使用。 设备管理 Copyright by Computer Department 有一批卡片要从卡片机上读如,然后再从 打印机上输出,系统设置了两个缓冲区 buf1h和buf2,它们用于从卡片机上接受 数据,恰当时交打印机输出。假定卡片机 的速度为1000卡/分,打印机的速度为 1000行/分,先将一卡读入buf1,当打印 buf1 内容时,将下一张卡送入buf2;当 打印完缓冲区buf1的内容后,又启动下一 张卡送入buf1,同时buf2 的内容又被送去 打印。反复重复上述过程,直到结束 ( 如图)。 设备管理 Copyright by Computer Department 设备管理 Copyright by Computer Department 3多缓冲及缓冲池管理 双缓冲技术提高了I/O设备的并行度,但由于在计算机系 统中,CPU的速度总是比外设快得多,真正要实现CPU与外设 的并行操作,双缓冲技术还不能达到要求,为此,在计算机 中都采用多缓冲或缓冲池结构。 多缓冲是把主存中的多个缓冲区组织成两部分,一部分 用做输入缓冲区,另一部分作为输出缓冲区。 缓冲池则是将多个缓冲区连接成一个完整的区域,其中 每个区既可以作为输入又可以作为输出用。 多缓冲及缓冲池是系统中的共享资源,可供各进程使用 ,由系统统一分配和管理。它的使用必须互斥地进行。 设备管理 Copyright by Computer Department 下面讨论的是缓冲池的管理方式。缓冲 池是若干缓冲区的集合,每一个缓冲区有两 部分:一部分是标识缓冲器的缓冲首都,另 一部分是保存信息的缓冲体。 缓冲区在缓冲池内按使用情况链接成三 条队列:空闲缓冲区队列,输入缓冲区队列 及输出缓冲区队列 。 设备管理 Copyright by Computer Department 空闲缓冲区队列:由空闲缓冲区连接而 成,用em指针指向队首。 输入缓冲区队列:由装满输入数据的缓 冲区连接而成,用in指针指向队首。 输出缓冲区队列:由装满输出数据的缓 冲区连接而成,用out指针指向队首. 设备管理 Copyright by Computer Department 缓冲首部 缓冲池 设备管理 Copyright by Computer Department 缓冲池的工作原理如下: 系统开始启动时,所有缓冲区全部排入em队列 中。 当有输入任务时,收容输入进程执行读数操作 时,自动从em队列的队首取下一空闲缓冲区,将 输入数据装入其中,待满后排入in队列尾部。并 对em队列长度和in队列长度作减一、加一操作。 当有输出任务时,收容输出进程从em队列中取 下一个空闲缓冲区,将输出数据装入,满后排入 队列尾部。让em队列长度和out队列长度作减一、 加一操作。 设备管理 Copyright by Computer Department 当系统要从输入缓冲区为用户进程取数时 ,由提取输入进程从in队列中取出一缓冲区 ,将其中的数据复制到用户指定的区域。并 将该缓冲区排如em队列的尾部,同时,in队 列数减一,em队列数加一。 当系统要从输出缓冲区输出数时,由提取 输出进程从out队列中取出一缓冲区,将其 中的数据送给输出设备进行操作。然后将该 缓冲区排如em队列的尾部,同时,out队列 数减一,em队列数加一。 设备管理 Copyright by Computer Department 设备管理 Copyright by Computer Department 4缓冲的作用 1)很好地解决了CPU与I/O设备速度不 匹配的问题,使信息得以在系统中平滑传 输。 2)提高了CPU、通道和设备之间的并 行性,从而使系统的资源利用率及吞吐量 增高。 3)减少了系统的中断次数,降低了 CPU的开销。 设备管理 Copyright by Computer Department 5.3 I/O系统中数据的传输控制 在一个完整的I/O系统内,包含了I/O设备 、设备控制器、通道及相关的管理软件。由 于计算机应用领域的拓宽,使得信息的输入输 出工作量加大,I/O操作在计算机中占由了重 要的地位。好的I/O控制方式,不但有利于提 高计算机中CPU与外围设备的并行处理效率, 而且还可以形成多种外设间的并行操作。特 别是在多通道程序设计环境下,I/O操作控制 能力已经成为计算机系统综合处理能力的重 要构成因素。 设备管理 Copyright by Computer Department 一般选取衡量I/O控制方式的好坏时应考虑 如下因素: 1)信息传输效率尽量高,以形成大的 吞吐量。 2)I/O系统资源利用率好,实现资源的 均衡使用。 3)尽量减少CPU用于进行I/O处理的开 销,使CPU效率得以充分发挥。 设备管理 Copyright by Computer Department 为此,按照I/O数据传输控制能力的强弱程度, 以及CPU与外设并行处理程度的不同。常将 I/O系统中信息的传输控制方式分为四类: 1)程序直接控制方式(CPU直接询问方式 ) 2)中断方式 3)DMA方式 4)通道方式 这四种方式代表了计算机系统中I/O控制 的四个不同的发展阶段。每个阶段的发展都 受到计算机硬件组织结构发展变迁的影响。 设备管理 Copyright by Computer Department 5.3.1 程序直接控制方式 程序直接控制方式,也称为CPU直接询问方式。 在早期的计算机系统中,由于无中断技术与通道技 术的支撑,为了控制I/O操作,往往是CPU在一条启 动外设的I/O指令发出后,便检测一台设备的忙闲标 志,如果外设的工作没有完成,则标志一直为忙状 态,CPU便一直进行循环检测下去,直到标志为不忙 为止。然后,主存与外设之间便可以交换一定量的 信息。.这种操作方式,使CPU将大量的时间花费在 循环等待上,使CPU效率发挥极差,外设也不能合理 利用,整个系统的效率很低。现在已较少使用这种 方式作为I/O的数据传输控制。 设备管理 Copyright by Computer Department 设备管理 Copyright by Computer Department 5.2.2 中断方式 随着计算机技术的向前发展,在计算机 系统中引入了中断机构。利用中断信号,外 设可以将自身操作的状态及时反馈给中央处 理CPU,这样,CPU便可以在发出一条I/O指 令后,转去继续完成其他任务。而对外设的 I/O工作,则转成了由设备控制器来指挥完 成。当I/O操作完成后。外设控制控制器自 动向CPU发出中断请求信号。CPU接到I/O中 断信号后进行干预,启动I/O中断处理程序 执行。 设备管理 Copyright by Computer Department 设备管理 Copyright by Computer Department 5.2.3 DMA方式 DMA方式也称为直接存取方式,主要用 在块设备的I/O操作中。 在DMA方式中,利用总线直接连接外设 和内存,由DMA控制机构窃取总线占有权, 完成外设与内存间的成批数据交换。 设备管理 Copyright by Computer Department 这样,除了在数据块进行I/O操作初始由 CPU发出启动命令以及完成时CPU进行中断 处理外,在整个数据块的传输期间不再需 要CPU进行干预。这样可减轻CPU的负担, 不必要象I/O中断控制方式那样需要CPU的 频繁干涉。CPU只需暂停几个周期,从而 使I/O的数据交换速度大大提高。 设备管理 Copyright by Computer Department 设备管理 Copyright by Computer Department 5.2.4通道方式 通道的引入,是为了进一步提高CPU与 外设之间的并行工作能力,使I/O操作形成 独立于CPU的体系,以减少CPU的负担,使外 设与内存的数据交换更加灵活。在没有通道 的计算机系统中,外设与主机间的连接,必 须以通道及设备控制器作为中介,实现四级 连接,三级控制。而且往往是通道、设备控 制器、设备间实行多路连接,形成多路交叉 传输,以利于I/O效率的提高。 设备管理 Copyright by Computer Department 设备管理 Copyright by Computer Department 通道也称为I/O处理机,专门负责内存 与外设之间的信息交换工作。 在通道机构中含有通道指令,每一条通 道命令规定了设备的一种操作,由通道指令 可构成指挥外设工作的通道程序。 在I/O操作时,CPU只要发出启动命令, 就可以启动通道。当通道启动成功后,通道 执行相应的通道程序控制外设进行I/O操作 。然后CPU就可转去执行其他任务,并形成 与通道并行工作的状态。 设备管理 Copyright by Computer Department CPU与通道互不干涉,独立工作,直到I/O 工作结束时,通道发出中断信号,CPU停止 当前操作,转I/O中断处理,完成I/O操作 的结束工作。 设备管理 Copyright by Computer Department 在计算机中,按信息交换方式不同,通道可 分为三类: 1)字节多路通道:它连接控制的是大 量的慢速设备,如终端、打印机、磁卡机、 纸带机等。 字节多路通道工作时,以字节为单位交 替地传送数据,当为一台设备传送一个字节 后,接着又转去为另一台设备传送一个字节 。在IBM370系统中所有设定的字节多路通道 可接256台设备。当启动I/O操作时,可以交 替地为这256台设备分时传送字节。 设备管理 Copyright by Computer Department 2)选择通道:对于象磁盘、磁鼓这样的 快速设备,如果仍然按字节交叉方式传送数 据,设备的利用率极差。因此,出现了按成 批方式传送数据的选择通道。 选择通道虽然可连接多台高速设备,但 一段时间内只能为一台设备服务,只有一个 输入或输出请求完成后释放了通道,通道才 可再转向另一台设备服务。由于工作方式是 独占的,所以利用效率不高。 设备管理 Copyright by Computer Department 3)数组多路通道:这种通道是将字节 多路通道与选择通道的优点抽取出来所设 计的一种效率很高的通道。 在数组多路通道中,信息量的交换按 成批方式进行,而通道的占用选用了分时 交叉使用的办法,从而在数据传输率及通 道利用率两方面都获得了满意的效果。数 组多路通道可以被认为是多道程序设计技 术思想在通道中的体现,可以广泛用于中 、高速外设的连接中。 设备管理 Copyright by Computer Department 不同的计算机系统中,通道的命令格式 和命令码可能不同,所以通道程序的编制方 式上也是不同的。编好的通道程序应放入主 存中,为使通道能取到通道命令执行,应将 当前要执行的通道程序的首地址的位置告诉 通道。存放通道首地址的特殊主存单元称通 道地址字CAW(Channel Address Word),以后 通道就按此地址开始通道程序的执行。 设备管理 Copyright by Computer Department 通道命令与通道程序 1.通道组成 通道是执行I/O 操作的处理机,所以 它应具有一台处理机所必备的主要部件: 有用于存放传输数据和通道程序的场所, 还应该有通道控制运算部件,主要负责解 释执行通道命令。 设备管理 Copyright by Computer Department 通道使用的主要寄存器有: 数据字寄存器:用于存放传输的数据; 通道控制字寄存器:用于存放当前正在 执行的通道命令(CCW) 通道地址字寄存器:用于存放通道命令 的地址,在通道程序执行前,要把通道程序 的首地址存于此(CAW); 设备管理 Copyright by Computer Department 通道状态字寄存器:其中包括通道的状 态、设备状态的信息,当I/O 操作结束时 送入主存固定单元,以中断的方式告诉 CPU 有关通道、控制器和设备的有关信息 (CSW)。 设备管理 Copyright by Computer Department 2.通道命令及格式 通道是实现I/O 操作的特殊处 理机,为了有别于CPU的指令,将通道指 令称之为通道命令(CCW) 设备管理 Copyright by Computer Department 用于I/O 操作的命令主要 有两种: I/O 指令:属于特权指令,只在管态 下使用,它主要用于对通道程序的启动。 主要用于对I/O 操作进行控制。根据通道的 特征,它主要有三种命令: 用于读、反读、写、断定设备状态的数 据传送命令,用于磁带反饶、换页查询等的 设备控制命令及实现通道程序内部控制的转 移命令。 设备管理 Copyright by Computer Department 设有IBM/370系统的通道命令 格式如下: 0 7 31 OP 数据传输主存始址 特征位 计数器 32 36 37 47 48 63 设备管理 Copyright by Computer Department 它主要包括如下4部分内容: (1)操作码部分(OP):表示通道要执行 的命令。 (2)数据传输主存始址:表示本命令要访 问的主存数据区的起始地址。 设备管理 Copyright by Computer Department (3)特征位:只使用了32位36位,其它 未用,3739必须为“0”,否则认为通道 命令错,各特征位进一步规定了本通道命 令的意义。 数据链特征位(32位):当该位为 “1”时,说明本条通道命令和下一条通道 命令是数据交链,即两条通道命令都是数 据传输命令,该命令执行完计数值为“0” ,操作码部分不变。 设备管理 Copyright by Computer Department 命令链特征位(33位):当该位为“1” 时,当前命令正常结束后,顺序执行下一字 命令。 在通道程序中,除最后一条通道命令外 ,每条通道命令应指定32位为“1” 或33位 为“1”,最后一条通道命令所有特征都为 “0”。 设备管理 Copyright by Computer Department 禁发长度错特征位(34位):如该位 为“1”表示通道命令给出的字节数和I/O 设备传输时的字节数即使不等,也不发出 “出错信息”。反之该位为“0”时,当二 者的字节数不等,就发出“出错信号”, 停止数据的传送。 设备管理 Copyright by Computer Department 假读特征位(35位):表示禁止将数据 送入主存,这样就可以跳过一些数据。 程序控制中断特征位(36位):也可称 程序中断屏蔽位。当该特征位为“1”时, 只要取出通道命令并开始操作,则通道就向 CPU 发出中断信号;反之,即使有中断也不 允许发出。 (4)字节计数器(4863位):它规定了数 据区的字节数。 设备管理 Copyright by Computer Department 2. 通道程序 所谓通道程序就是用命令链、数据 链或转移命令,把诸条通道命令连接在一起 ,完成某些特定功能的通道命令的集合。通 道程序的执行过程就是I/O 操作的处理过程 ,通道程序的编制除了要了解各通道命令外 ,还应熟悉各种外部设备的物理特性。 设备管理 Copyright by Computer Department 3.举例 例1:要求编制一个通道程序,完成从磁带机 上读入200字节的信息,送入主存(1000)16 开始的单元中。 通道命令码: “07” 将磁带机反转到磁带的起点。 “02” 读命令。 设备管理 Copyright by Computer Department 则该通道程序为: CCW1 X “07” * X “40” 1 ; 反转到磁带的起点。 CCW2 X “02” 1000 X “00”200; 读入200字节信息到主存1000开始的连续单 元中。 设备管理 Copyright by Computer Department 例2:要求编制一个通道程序,完成从磁带机 读入200字节信息。将其150byte送入主存( 1000)16(1031)16单元中,将其 5170byte不存入主存,将其71200byte字节 存入主存(2000)16(2081)16中。 假设通道命令码: “07”为将磁带机反转到磁带机的起 点 “02”为读命令 设备管理 Copyright by Computer Department 则该通道程序为: CCW1 X “07” * X“40” 1 ;反 转到磁带的起点。 CCW2 X “02” 1000 “40” 50;读 入50个字节的信息到主存1000号开始的连续 单元中。 设备管理 Copyright by Computer Department 4CPU 与通道之间的通信 通道I/O 操作是由两种指令实现控 制,即CPU 的I/O 指令和通道本身提供的通 道命令字CCW。I/O 指令属于特权指令,只 能由操作系统使用,使用CCW编写的程序称 为通道程序,不同的设备有不同的通道程序 ,通道程序存放在内存中,由I/O 指令启动 执行。 设备管理 Copyright by Computer Department CPU和通道是主/ 从关系,CPU可启动、停止 通道的工作或改变其现行状态,故CPU和通道 的通信包含: (1)CPU 执行相应的I/O指令向通道发出任 务或控制意图; (2)通道完成CPU 交给的工作后,用请求中 断告知CPU,并行工作状态保留在相应寄存器 中供CPU 检测。 设备管理 Copyright by Computer Department 进程i 请求启动外设 进程j 进程 i/j其他 保护进程I现场 组织CCW 存CAW 执行启动“I/O” 分析条件码 启动成功;进程i 等待,别选进程j 运行 进程j被中断 保护现场 分析中断事件 处理I/O中断 选择可运行进程 判断状态形成条件码 执行通道程序 控制设备操作 执行情况记录 在通道状态字中 出现中断事件 CSW=主存 通道号设备号 送特定寄存器 执行规定 的操作 用户程序 中央处理器 操作系统程序通道 设备控制 器和设备 输入输出操作过程示意 设备管理 Copyright by Computer Department 5.4设备分配 从管理的层次看,设备的分配对象有两 级,一级是在作业级分配,另一级是在进程 级上进行分配。 对作业级的分配工作,是在作业提 交之后,开始执行前进行的。此时,系统按 用户对设备的请求,将该作业所需要的有关 设备及相关的通道和设备控制器资源,全部 一次性的分给作业,直到作业用完自动释放 归还给系统为止。这种分配方式属于静态分 配。 设备管理 Copyright by Computer Department 进程级的分配,一般由在CPU上运行的 进程,根据任务需要,通过系统功能调用 提出I/O请求,设备分配程序按一定的策略 将可用的设备分配给有I/O请求的进程。同 时,还分配与设备相关的通道和设备控制 器,以确保在CPU与外设之间形成一条有效 的数据通路。由于这种分配是在执行中动 态完成的,设备用完后又必须立即释放, 所以,属于动态分配。 设备管理 Copyright by Computer Department 设备的分配除与对象性质有关外,还 受设备物理特性的影响。不同特性的设 备,在分配策略上不尽相同。 本节主要针对设备分配中的各种问题 作出相关讨论。 设备管理 Copyright by Computer Department 5.4.1 设备独立性 在计算机系统中,可以配置的外设品 种繁多。而且在小型机以上的计算机系统 中,可以同时接入多台同样的外设。 为了便于对这些外设进行管理,系统 对每台进入计算机系统中的设备都给定一 个对应的编号,作为调用时识别和区分设 备用。这种编号无任何重复,一般被称为 设备的绝对号(或物理设备名)。 设备管理 Copyright by Computer Department 有了设备的绝对号,系统在管理过程中对设 备的调用变得简单而方便。但作为用户而言, 如果直接让其用绝对号来申请设备,就会造成 用户在使用中极不方便,复杂程度增加。 特别是在多通道程序环境下,用户想查找哪 台设备是空闲的,哪台是被占用的,根本是不 可能的。有时申请的设备可能刚好很忙,而未 被申请的其他同类设备即使处于空闲状态也不 能使用,造成了设备使用的灵活性降低,设备 利用率差。 所以在系统中一般不允许用户用绝对号来直 接申请所需的设备。 设备管理 Copyright by Computer Department 为了方便用户,也为了提高外设利用 率,在计算机中规定用户申请外设时,只 需要向系统说明所需用的某类设备,至于 真正在实际中使用哪台设备,由系统根据 这类设备的应用情况作出分配。即使用户 所需多台同样的设备,系统也允许用户按 自己的使用要求提出编号,这种由用户申 请设备时所用的编号称为相对号(或称逻 辑设备名) 设备管理 Copyright by Computer Department 有了设备的绝对号和相对号后,用户编制程 序使用的设备与实际使用的设备无关,这就是设 备的独立性。 具备设备独立性的计算机系统中,用户编程 时只考虑逻辑设备,系统调用的是物理设备,逻 辑设备与物理设备间的转化工作由设备分配程序 来完成。这样,使系统的适应性好,灵活性强, 对改善资源利用率极为有利。当某台设备坏了, 只要操作系统改变分配就行了,而程序本身不必 做任何修改。对方便用户,改善资源利用率、提 高系统的可扩展性和可适应性都有极大的好处。 设备管理 Copyright by Computer Department 例如,有、号打印机,作业J1要申 请其中两台,如果让J1直接申请号、号 打印机,此时,如果号打印机为另一作业 J2占用,或者是其中一台打印机坏了,即使 系统中还有两台可用,J1也必须等待,造成 资源浪费。如能让作业J1按相对号来申请设 备,则可以避免这种缺陷。J1只要提出某类 设备两台,系统可将剩下的两台分给J1,J1 就可运行。设备得到充分利用。 设备管理 Copyright by Computer Department 5.4.2 设备分配算法的数据基 任何算法的实现都离不开数据基(数据 结构)的支撑,在设备分配算法中也不例外 .不同的系统中对设备分配算法的建立方式 上有所不同, 可能会导致所选择的数据基 不同。 但作为在多道环境下的设备分配, 不仅只是对设备的分配,而且还要实现与 设备相联的通道及设备控制器的分配。 设备管理 Copyright by Computer Department 在分配算法的实现中,常采用的数据 基主要含下述四张表,即 1)系统设备表SDT, 2)设备控制表DCT, 3)控制器控制表COCT, 4)通道控制表CHCT 。 设备管理 Copyright by Computer Department 这四张表在分配算法中形成了一个有机整 体,有效地记录了外设资源在系统中的情 况。设备的每一次分配调用都与这四张表 有关,下面将详细介绍它们的构成。 设备管理 Copyright by Computer Department 1.系统设备表STD(System Device Table): 在STD表中,每个接入系统中的外围设 备都占有一个表目项。登录了该设备的名称 、标识及设备控制表DTC的入口地址等相关 的信息。SDT表在整个系统中只有一张,全 面反映了系统中的外设资源的类型、数量、 占用情况等。 设备管理 Copyright by Computer Department 每一个表项的内容大约如下: 物理设备号:设备的内部标识,是操作系 统在启动阶段为设备建立的编号,不同的设 备的有不同的设备号各。 设备种类:标志设备所具备的类型特征 ,如字块设备,字符设备等。 进程标识符:占用设备的进程的名称。 DCT指针:设备控制表的入口位置。 设备管理 Copyright by Computer Department 2.设备控制表DCT(Device Control Table) : 系统中的每台设备都有一张设备控制 表DCT。在DCT中充分体现出了设备的各方 面特征,以及与该设备相连的设备控制器 的情况,并保存了控制器块的入口位置。 其内容如下: 设备管理 Copyright by Computer Department 逻辑设备号:用户进程的申请设备时 用的编号。 物理设备号:设备的内部标识,是操 作系统在启动阶段为设备建立的编号, 不同的设备的有不同的设备号各。 设备特性:指出设备的固有特性。如 :可读,可写,可读写等。 设备管理 Copyright by Computer Department 设备状态:指明当前设备的状况,是否 空闲/忙碌,是否好/坏。 等待队列指针:由等待使用该设备的进 程所连接成的队列,队首及队尾指针放入 DCT的此项目中。 COCT指针:凡是与该设备相联的控制 器排成链表,其队首指针放入DCT的该项中 。 设备管理 Copyright by Computer Department 驱动程序入口:驱动设备用的驱动程 序的入口位置。 重复操作次数:允许传送出错后,反 复再传送的最大重复次数。 DCT的排队指针:每个DCT表为了管理 上的方便,可以按类型连接起来,形成一 条DCT链。 设备管理 Copyright by Computer Department 3.控制器控制表COCT(Controller Control Table) 每个控制器都有一张控制器控制表 COCT,用于登录某控制器的使用分配情况 及与该控制器相连的通道的情况。具体情 况如下: 控制器号:控制器的内部标识符 。 控制器状态:控制器忙/闲,好/ 坏的状态标志。 设备管理 Copyright by Computer Department 通道指针:指向与该控制器相联的通 道控制表CHCT。当控制器与若干通道连接 时该项内含多个指针。 等待队列指针:指向等待该控制器的 I/O进程队列。 设备管理 Copyright by Computer Department 4.通道控制表CHCT(Channel Control Table): CHCT 表反映了通道的情况,系统中的 每个通道一张CHCT。其内容如下: 通道号:通道内部标识符。 通道状态:通道的各种状态(好/坏,已 分/未分等)的反映。 等待队列指针:等待该通道的I/O进程队 列的首位置。 设备管理 Copyright by Computer Department SDT, DCT, COCT, CHCT的结构如图所示: 设备管理 Copyright by Computer Department 5.4.3 设备分配 1设备分配的基本要求: 设备分配受设备的固有特性,设备在系 统中的配置数量,用户应用需求等多方面的 限制。不同类型的设备在分配上所采取的方 式不同,算法的设计思路上也不可能一致, 但不论形式上千差万别,在实质上所追求的 都是两方面的目标。 设备管理 Copyright by Computer Department 在系统方面,最大限度地发挥设备的效 率,分配尽量合理化,避免分配完成后使占 用的进程组出现不安全性,引发死锁现象; 从用户一方考虑,应使分配体现设备独立性 ,使用户面对的是逻辑设备,与物理设备结 合不紧密,减轻用户编程的负担,提高应用 程序的灵活性。围绕这样的目标,在设计操 作系统的设备分配算法时,应权衡各方面的 要求,作出合理的分配方案的设计。 设备管理 Copyright by Computer Department 2.设备分配方式: 在设备分配中起作用的分配方式主要 有两种:静态分配与动态分配。 静态分配方式主要适用对独占型设备的分 配,这种类型的分配在使用上必须是互斥 地占用,所以往往是在某个作业执行之前 ,根据作业需求,全部一次性分出,当作 业撤离时,再由系统收回。由于是预分配 ,一般不会引起不安全因素。这种方式主 要用于分配设备,而对数量较少的通道和 设备控制器的分配不能采用此方式。 设备管理 Copyright by Computer Department 动态分配的方式则是由进程在执行中再 来动态申请外设,资源分配的灵活性大, 利用率高。在此方式下,设备不是进行预 分配,而是用时才分,运行中的进程当需 要与外界交换信息时,通过执行系统中的 访管指令,形成访管中断,系统响应后进 入访管中断处理,启动分配程序工作,完 成分配任务。 设备管理 Copyright by Computer Department 由于在系统中,进程的数量一般都会超 出系统拥有的外设资源数量,故有些进程在 I/O请求完成后,不能立即分到所要的外设 ,这些进程必须排成等设备的等待队列。当 等待队列出现后,系统对设备分配的先后次 序的确定必须要有一定的措施。常见的措施 主要是先请求先分配或优先级高优先级分配 两种。 设备管理 Copyright by Computer Department (1)先请求先分配 当若干进程申请某一设备的请求得不到 满足时,必须排入等队列中。这些进程由于 申请的有先后次序,故排入等待队列的次序 也是不相同的。当该设备被归还给系统后, 就可以重新分配,此时,系统按进程在等待 队列中排队的先后次序,将设备分给最早排 入队列的那个进程。 设备管理 Copyright by Computer Department (2)优先级高优先分配 在此分配对策中,进程的优先级起了 决定作用。当从等待某设备的进程队列中 挑选下一个可占用设备的进程时,按进程 所具有的优先级处理。高优先级的进程先 分配,同优先级的,先申请先分配。 设备管理 Copyright by Computer Department 3.设备分配算法: 在具有通道的I/O系统中,分配算法对 各资源的分配顺序为: (a)设备 、 (b ) 控制器、 ( c )通道。具体分配流程图如 下: 设备管理 Copyright by Computer Department 设备管理 Copyright by Computer Department 5.4.2 I/O中断处理 I/O中断的发生是在通道,设备以 及设备控制器正常或异常结束时,I/O中断 是CPU与通道交往协调的一种手段。CPU根 据I/O中断信号来判断操作的完成情况,作 出相应的处理。正常的与异常的I/O中断, 系统在处理上所采用的方式不相同,产生 的结果也不一样。 设备管理 Copyright by Computer Department 1.正常I/O中断处理: 当通道程序顺利执行完成后,一次I/O 操作正常完成,此时,I/O中断信号发出, 请求CPU干预。CPU进行中断响应后,转入中 断处理。中断处理过程中应完成下列任务: 保护正在CPU上运行的当前进程的现场 信息(现场信息被保存在该进程的PCB的现 场部分中); 设备管理 Copyright by Computer Department 将原来由于有I/O请求,执行过访管指令 而被置为等待态的进程唤醒,变为就绪态插 入就绪队列中。因为原来有I/O请求的进程 在操作正常结束后,所需的输入信息已由指 定的设备传送过来,或者是将输出信息已送 到了指定的设备上输出完毕,所以应将它从 等待队列转入到就绪队列,以便可以完成后 续任务。 设备管理 Copyright by Computer Department 查看当前被释放出的I/O设备的等待队 列中是否还有别的进程在排队,如果还有, 则说明在设备被使用时,有进程曾经来申请 设备未成功,被置为等待态,当设备归还给 系统后,有义务将等设备的进程唤醒,从等 待态变为就绪态,使它有可能去访问设备。 重新启动进程调度程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论