设备管理教学课件PPT.ppt

上传人:za****8 文档编号:17068374 上传时间:2020-11-07 格式:PPT 页数:101 大小:1.55MB
收藏 版权申诉 举报 下载
设备管理教学课件PPT.ppt_第1页
第1页 / 共101页
设备管理教学课件PPT.ppt_第2页
第2页 / 共101页
设备管理教学课件PPT.ppt_第3页
第3页 / 共101页
资源描述:

《设备管理教学课件PPT.ppt》由会员分享,可在线阅读,更多相关《设备管理教学课件PPT.ppt(101页珍藏版)》请在装配图网上搜索。

1、1 2020/11/7 第七章 设备管理 第七章 设备管理 7.1 概述 7.2 I/O控制方式 7.3 缓冲技术 7.4 其它技术 7.5 设 备 分 配 2 2020/11/7 第七章 设备管理 7.1 概述 7.1.1 设备的分类 7.1.2 设备管理的目标 7.1.3 设备管理的功能 7.1.4 设备管理数据结构 3 2020/11/7 第七章 设备管理 7.1.1 设备的分类 1、 按传输速率分 低速设备:每秒几个到数百字节 。 如 Modem 中速设备:每秒数千到数万字节 。 如打印机 高速设备:每秒数百 K到数兆 。 如磁盘 、 磁带 4 2020/11/7 第七章 设备管理 2

2、、 按信息交换的单位分类 字符设备: I/O传输的单位是字节 , 如打印机 、 modem等 。 特征:速率较低 、 中断驱动 。 块设备 : I/O传输的单位是块,如磁盘、磁 带。特征:速率高(几兆)、可随机访问任 一块、 DMA方式驱动。 5 2020/11/7 第七章 设备管理 3. 按资源管理方式分类 独占型设备:在任一段时间内最多有一个进程占用 它 , 字符设备及磁带机属独占型设备 。 即临界资源 。 共享型设备:多个进程对它的访问可以交叉进行 , 除磁带机外的块设备属共享设备 虚拟设备: 在一类设备上模拟另一类设备 , 常用共 享设备模拟独占设备 , 用高速设备模拟低速设备 , 被

3、模拟的设备称为虚 拟 设备 6 2020/11/7 第七章 设备管理 7.1.2 设备管理的目标 1、 设备独立性 所谓设备独立性: 用户在编制程序时 , 使用 逻辑设备名 , 由系统实现从逻辑设备到物理 设备 ( 实际设备 ) 的转换 。 用户能独立于具 体物理设备而方便的使用设备 。 7 2020/11/7 第七章 设备管理 两种类型的设备独立性 独立于同一类设备中的某台具体设备 。 如果 一个系统中有若干台相同的设备 , 用户编程 时不指定使用哪一个具体的设备 , 而仅说明 要使用哪一类设备 , 系统根据当前这一类设 备的具体状况给用户分配一台具体的设备 。 用户不用关心他所使用的到底是

4、哪一台设备 。 8 2020/11/7 第七章 设备管理 独立于不同类型的设备 。 例如有一程序要求输入信息 , 可以从各种不同 类型的输入设备上给程序输入数据 , 则称该 程序是独立于不同类型的输入设备的 。 又如在 MS-DOS系统中 , 程序的 I/O操作不必指出 在哪台设备上进行 , 一般情况下是从键盘上 输入数据 , 而在显示器上输出数据 。 但用户 可以做一次联机操作命令 Ctrl+P, 则输出数 据可以在打印机上打印出来 。 9 2020/11/7 第七章 设备管理 2、提高设备利用率 提高设备的使用效率是操作系统设备管理的重要目 标 。 为达到此目标除了要合理分配和使用外部设备

5、外 , 还应努力提高设备同 CPU的并行程度 。 与此有关的技 术有:通道技术和缓冲技术 。 10 2020/11/7 第七章 设备管理 I/O系统概述 I/O特点 CPU与 I/O的速度差别很大,导致如下情况 I/O的性能成为系统性能的瓶颈 操作系统变得庞大、复杂 I/O 设备种类繁多、物理特性差距甚 大 数据传输率 数据表示方式 传输单位 出错条件 I/O技术实用 是学习和深入理解 OS的有效途径 快 11 2020/11/7 第七章 设备管理 3、设备的统一管理 外设的种类繁多 , 特性各异 , 主要差别反映在以下几 个方面: 速度:不同的设备处理和传递信息的速度差别甚大 , 如键盘每秒

6、钟只能处理几个或几十个字符 , 而磁盘 的处理速度可达几十 MB/S 传递单位:有的设备以字符为单位传递信息,如键 盘。有的以字符块为单位传递信息,如磁盘。 12 2020/11/7 第七章 设备管理 操作方法和特性:各种设备都有自己的特性 和操作方法 , 如卡片机中的卡片不能倒退 , 磁带机可反绕 , 磁盘可随机存取 。 出错条件:各种设备的出错条件不同 , 有的 可能产生奇偶错 , 打印机可能产生无纸错等 。 13 2020/11/7 第七章 设备管理 设备管理程序力图隐蔽上述各种设备的差别 , 向用户提供统一的设备使用接口 , 这会给系 统的设计带来困难 , 但方便了用户 。 如 UNI

7、X系统把外设作为特别文件处理 , 把设备 看作文件 , 用操作文件的方法来操作设备 , 这极大地方便了用户 。 这种设备管理方法无 疑是个重大的突破 。 14 2020/11/7 第七章 设备管理 7.1.3 设备管理的功能 1、 监视系统中所有设备的状态 一个计算机系统中存在着许多设备 , 在系统运行期间 这些设备都在处理各自所承担的工作 , 并处于各种 不同的状态 , 系统要有效地管理和使用这些设备就 必须监视它们的工作状态 。 系统为每个设备设置 设备控制块 DCB结构 , 在 DCB中登 记了设备的状态信息 , 系统是经过对 DCB的查询来 监视设备的活动的 。 15 2020/11/

8、7 第七章 设备管理 2、设备的分配 在多用户或多进程的环境中 , 每个用户在完成 各自的任务时总是要使用外设 , 为用户或进 程分配设备是设备管理的主要功能之一 。 设备分配包括:设备分配策略 、 分配的方式 、 分配技术和选择用户的算法 。 16 2020/11/7 第七章 设备管理 3、 I/O控制 I/O控制是设备管理的另一功能,它包括 设备 驱动和设备中断处理 。 17 2020/11/7 第七章 设备管理 I/O硬件组成原理 I/O系统层次 I/O硬件组成 控制器 +设备本身 I/O设备(机械部分) 设备控制器(电子部分) 18 2020/11/7 第七章 设备管理 I/O硬件组成

9、原理 设备控制器 插在电路板上的一块芯片或一组芯片 主要功能 接收 OS的命令 (如,从设备读 数据,并完成数据的处理) 实际 I/O设备本身 设备接口与设备控制器接口 实际设备接口隐藏在设备控制器中 OS看到的是控制器的接口 19 2020/11/7 第七章 设备管理 I/O硬件组成原理 设备控制器 Device Controller、 adapter 设备与主机间的连接和通信 数模信号的转换 命令的接收和识别 数据的交换 设备状态的理解和报告 两类接口( CPU/设备) 20 2020/11/7 第七章 设备管理 7.1.4 设备管理数据结构 设备控制块 (DCB) DCB是设备管理的重要

10、数据结构 , 在这个结构中 较全面地反映了每台设备的特性 、 连接和使 用的状态等信息 。 当一台设备进入系统时必 须创立相应的 DCB 21 2020/11/7 第七章 设备管理 DCB的内容 设备标识符: 系统有许多设备 , 为区别起见为每台 设备取个名 , 这个名叫设备标识符 。 设备属性: 反映设备的相应特性和类型 设备 I/O总线地址: 设备和 CPU是通过 I/O总线连接起 来的 , 它在总线上有个地址 。 设备状态: 指设备当时所处的状态 。 等待队列指针: 等待使用该设备的进程组成等待队 列,这里存放等待队列的队首指针。 22 2020/11/7 第七章 设备管理 图示 23

11、2020/11/7 第七章 设备管理 7.2 I/O控制方式 7.2.1 循环测试 I/O方式 7.2.2 I/O中断方式 7.2.3 DMA方式 7.2.4 通道方式 24 2020/11/7 第七章 设备管理 7.2.1循环测试 I/O方式 早期 , I/O控制器 是 OS同硬件之间的接口 。 它有 两个寄存器: 数据缓冲寄存器 、 控制寄存器 。 控制寄存器有几个重要的信息位: 启动位 、 完成位 、 忙位 。 CPU 外 部 设 备 控 制 逻 辑 电 路 控制寄存器 I/O控制器 数据寄存器 25 2020/11/7 第七章 设备管理 工作过程 以输入为例 1、 把启动位置 1 2、

12、 反复测试完成位 , 为 0转 2, 为 1转 3 3、 把数据从数据缓冲区中读走 。 浪费大量 CPU时间 26 2020/11/7 第七章 设备管理 7.2.2 I/O中断方式 I/O控制器能发中断 。 工作过程: 1、 把启动位置 1, 本进程 ( A) 变为等待状态 , 转进 程调度 , 调度另一进程 B。 2、 输入完成时 , 控制器发出中断 , 中断 B, 通过中 断进入中断处理程序 。 3、 在中断处理程序中把数据缓冲寄存器中的数取走 , 放入内存特定位置 M, 唤醒等待进程 A, 中断返回 到 B的断点继续执行 。 4、 在以后的某个时刻 OS调度要求输入的进程 A。 A从 M

13、取数处理 。 27 2020/11/7 第七章 设备管理 分析 同前相比, CPU利用率大大提高。 缺点:每台设备每输入输出一个字节的数据都 有一次中断。如果设备较多时,中断次数会 很多,使 CPU的计算时间大大减少。 为减少中断对 CPU造成的负担,可采用 DMA方 式和通道方式。 28 2020/11/7 第七章 设备管理 7.2.3 DMA方式 j 控制器功能更强 , 除有中断功能外 , 还有一个 DMA 控制机构 。 在 DMA控制器的控制下 , 设备同主存之 间可成批交换数据 , 不用 CPU干预 。 29 2020/11/7 第七章 设备管理 工作过程 1、 当进程要求输入时 ,

14、把要求传送的内存始址 ( M) 和要传的字节数送入 DMA的内存地址寄存器和传送 字数寄存器 2、 把启动位置 1。 设备开始工作 。 进程 ( A) 挂起 。 调度另一进程 ( B) 3、 一批数据输入完成后 , DMA中断 B, 转向中断处理 程序 。 4、 中断处理程序唤醒 A, 返回 B的断点继续执行 。 5、以后 OS调度 A运行时, A从 M处取数据处理。 30 2020/11/7 第七章 设备管理 DMA方式与中断的主要区别 中断方式是在数据缓冲寄存区满后,发中断 请求, CPU进行中断处理 DMA方式则是在所要求传送的数据块全部 传送结束时要求 CPU进行中断处理 大大减少了

15、CPU进行中断处理的次数 中断方式的数据传送是由 CPU控制完成的 而 DMA方式则是在 DMA控制器的控制下不 经过 CPU控制完成的 31 2020/11/7 第七章 设备管理 CPU向控制器发出启动 DMA通知和有关参数 控制器向内存发出询问请求 访问内存(读、写) 计数器减 1 结束否 发中断 N Y DMA的实现流程 32 2020/11/7 第七章 设备管理 7.2.4 通道方式 I/O系统结构 在大型计算机系统 中较为典型的 I/O 系统结构是主机 、 通道 、 控制器和外 部设备 。 33 2020/11/7 第七章 设备管理 外部设备通常由机械的和电子的两部分组成 , 电子部

16、分构成控制器 , 也叫适配器 。 一个控制器可交替地控制几台同类设备 , 例 如一个磁盘控制器可以控制两台磁盘驱动器 。 在没有通道的计算机系统中 , 中央处理机是 通过控制器控制 I/O操作的 。 34 2020/11/7 第七章 设备管理 1、总线 的基本概念: 在计算机系统内各种子系统,如 CPU、 内 存、 I/O设备等之间,构建公用的信号或数 据传输通道 这种可共享的传输通道称为 总线 总线技术 35 2020/11/7 第七章 设备管理 总线的分类 CPU-内存总线 I/O总线 数据总线 地址总线 控制总线 (非本课程范围) 2、总线的分类 36 2020/11/7 第七章 设备管

17、理 微型计算机 总线的种类和发展 PC XT总线 ISA总线 MCA总线 EISA总线 VESA总线 PCI总线 USB总线 . (过时 ) 1394总线 SCSI总线 37 2020/11/7 第七章 设备管理 ISA(工业标准结构) ISA基于 PC AT总线,是由 IEEE( 美国电气 电子工程师协会) 1987年正式确立的标准。 ISA槽是一个黑色的 62 36线插槽。 ISA工作频率定在 8.33MHz, 数据传输率为 8.33MB s。 随着系统工作频率的迅速提高,其配用的扩 展卡也逐渐被淘汰,现在最新的主板已开始 取消 ISA槽。 38 2020/11/7 第七章 设备管理 PC

18、I ( 外围部件互连) 1993年 Intel发表 PCI2.0版, PCI开始走进主 板。 PCI有 32位和 64位两种, 32位 PCI槽 124线, 64位槽 188线,目前常用的是 32位插槽。 PCI槽的时钟频率为 33.3MHz, 32位 PCI的数 据传输率为 133MB s, 大大高于 ISA。 所以 PCI问世后迅速成了扩展总线的主流,流行的 扩展卡也都转移到 PCI上,如显示卡、声卡、 网卡、 MODEM卡等等。 39 2020/11/7 第七章 设备管理 AGP( 加速图形端口) 1996年 Intel公司在 PCI的基础上专为显示卡接 口提出 AGP标准。 AGP使用

19、 32位数据总线,工作频率为 66.6MHz AGP 1x的数据传输率可达 266MB/s, AGP 2x在一个时钟周期的上升沿和下降沿各传输 一次资料,其数据传输率可达到 533MB s, 而 AGP 4x的理论传输率为 1.066GB s。 40 2020/11/7 第七章 设备管理 为使中央处理机从繁忙的 I/O处理中摆脱出来 , 现代大 、 中型计算机系统中设置了 专门的处 理 I/O操作的处理机 , 并把这种处理机称为通 道 。 通道在 CPU的控制下独立地执行通道程序 , 对外部设备的 I/O操作进行控制 , 以实现内存 与外设之间成批的数据交换 。 通道 =I/O处理机 2、通道

20、概念 41 2020/11/7 第七章 设备管理 当完成 CPU交给的任务后 , 向 CPU发出中断信 号 , 请求 CPU的处理 。 这样就使得 CPU基本上 摆脱了 I/O操作的处理工作 , 提高了 CPU与设 备之间的并行程序 , 从而提高了整个计算机 系统的效率 。 42 2020/11/7 第七章 设备管理 3、 通道指令和通道程序 通道有它自己的指令系统 , 用这些指令编写 的程序叫 通道程序 , 通道只能执行通道程序 , 不可能执行用户进程 。 通道程序保存在内存中 通道程序是由通道指令组成 , 一个通道可以 分时的方式执行几道程序 。 每道程序控制一 台外部设备 , 因此 每道

21、通道程序称为子通道 。 43 2020/11/7 第七章 设备管理 4、通道的种类 字节多路通道: 字节多路通道是以字节为基本传输单位 , 当 一子通道控制的某台外设交换了一个字节后 , 就转向下一个子通道 , 以控制下一台设备传 送一个字节 。 这就实现了子通道的循环轮转 , 以达到多路控制的目的 , 字节多路通道主要 用来控制低速 、 并且以字节为基本传送单位 的设备 。 如打印机 。 44 2020/11/7 第七章 设备管理 45 2020/11/7 第七章 设备管理 数据选择通道: 这种通道一次执行一个通道程序 , 控制一台 设备连续地传送一批数据 , 当一个程序执行 完后 , 才转

22、向下一个程序 , 它的优点是传输 速度高 , 缺点是一次只能控制一台设备进行 I/O操作 。 它主要用来控制高速外设 。 如磁盘 。 选择通道 46 2020/11/7 第七章 设备管理 数据多路通道: 这种通道是上述两种通道的折中 , 可以分时 的方式执行多道程序 , 每道程序可传送一组 数据 。 它主要用于中速设备的控制 。 如磁带 机 。 在一大型系统中可以同时存在这三种类型的通 道以便控制各种不同类型的设备 。 47 2020/11/7 第七章 设备管理 5、通道的工作过程 某进程在运行过程中 , 若提出了 I/O请求 , 则通 过系统调用进入操作系统 , 系统首先为 I/O操 作分配

23、通道和外设 , 然后按 I/O请求生成通道 程序并存入内存 , 把起始地址送入通道的首 地址寄存器 ( CAW) , 接着 CPU发出启动通道 的指令 。 48 2020/11/7 第七章 设备管理 中央处理机启动通道后 , 通道的工作过程为: 根据 CAW, 从内存取出通道指令 , 送入通道控制字寄 存器 ( CCW) , 并修改 CAW, 使其指向下一条通道指 令 。 执行 CCW中的通道指令 , 进行实际的 I/O操作 , 执行 完毕后 , 如果还有下一条指令 , 则返回前一步 , 否 则转下一步 。 发出中断信号通知 CPU通道程序已执行完成。 49 2020/11/7 第七章 设备管

24、理 6、瓶颈问题 产生的原因: 通道不足 解决问题的方法: 增加设备到主机之间的通路 50 2020/11/7 第七章 设备管理 7.3 缓冲技术 7.3.1 引言 7.3.2 常用的缓冲技术 51 2020/11/7 第七章 设备管理 缓冲技术 为什么要缓冲? (以字符设备为例) a)问题: 对于每个到来的字符,都必须启动用户进程 b)改进: 在用户空间提供一个包含 n个字符的缓冲区,并执行读入 n个字符的读操作 b)问题: 当一个字符到来时,若缓冲区被分页而调出内存,则必须锁定,过多锁定带来 可用页面数降低,系统性能下降 c)改进: 内核空间创建一个缓冲区 52 2020/11/7 第七章

25、 设备管理 缓冲技术 缓冲技术 缓和 CPU与 I/O设备之间速度的不匹配矛盾 提高 CPU与 I/O设备之间的并行程度 减少对 CPU的中断频率,放宽对中断响应时间的限制 企图将数据传输速度比较低的 I/O设备(如,文件存储设备) 改造成存取速度比较高的存储空间 代价:占用一部分内存空间用以构成缓冲存储区以及存放缓存管理程序 以内存空间换取时间的技术(借用了硬件设计中的高速缓冲存储器的思想) 53 2020/11/7 第七章 设备管理 缓冲技术 缓存技术的效果取决于 在一段时间内各进程对同一信息存储的时间间隔很短,那么缓存中信息被重用 的可能性就会增加,此时缓存技术的效果就显著 缓冲存储区的

26、数量(在内存容量允许的情况下,适当增加数量效果会提高) 缓冲管理算法( UNIX LRU算法) 物理块读、写技术(读同步,预先读 /读异步,写异步 /延迟写) 54 2020/11/7 第七章 设备管理 缓冲技术 缓冲区的分类 按设置方式 硬缓冲:设备中设置,由硬件实现 软缓冲:内存中设置,作为数据缓冲 按使用方式 专用缓冲:专为某一设备而设置,它为某设备所专用,如键盘缓冲区 通用缓冲:为多个设备所共享 按组织方式 单缓冲 双缓冲 循环缓冲 缓冲池 内核空间中的缓冲区 55 2020/11/7 第七章 设备管理 缓冲技术 实现 预先读 延迟写 单缓冲 双缓冲 56 2020/11/7 第七章

27、设备管理 1、单缓冲 最简单的一种缓冲形式。当进程发出一 I/O请求 时, OS为之分配一缓冲区。 对于输入:设备先将数据送入缓冲区, OS再将 数据传给进程。 对于输出:进程先将数据传入缓冲区, OS再将 数据送出到设备。 57 2020/11/7 第七章 设备管理 思考 单缓冲能加快进程的执行速度吗? 58 2020/11/7 第七章 设备管理 2、双缓冲技术 为了加快输入输出速度 , 引入双缓冲技术 。 原理: 设置两个缓冲区 buf1和 buf2。 读入数据 时,首先输入设备向 buf1填入数据,然后进 程从 buf1提取数据,在进程从 buf1提取数据 的同时。输入设备向 buf2中

28、填数据。当 buf取 空时,进程又从 buf2中提取数据,与此同时 输入设备向 buf1填数。如此交替使用两个缓 冲区,使 CPU和设备的并行操作的程度进一 步提高。 59 2020/11/7 第七章 设备管理 3 环形缓冲技术 当生产和消费数据的速度基本匹配时 , 双缓冲 能获得较好效果 。 但若两者速度相差甚远时 , 效果不太理想 。 但随着缓冲区的数量增加 , 使情况有所改善 。 因此引入环形缓冲技术 。 60 2020/11/7 第七章 设备管理 环形缓冲技术是在主存中分配一组大小相等的 存储区作为缓冲区 , 并将这些缓冲区链接起 来 。 系统中有个缓冲区链首指针 , 指向第一个缓冲

29、区 , 每个缓冲区中有一个指向下一个缓冲区 的指针 , 最后一个缓冲区中的指针指向第一 个缓冲区 , 从而形成环形缓冲区链 。 系统可 循环使用这些缓冲区 。 环形缓冲区用于输入 (输出 )时 , 还要有两个指针 IN和 OUT。 61 2020/11/7 第七章 设备管理 IN指向可接收数据的空闲缓冲区的首址 , OUT指针指 向装好数据且未取走的缓冲区首址 。 系统初启时 , 指针被初始化为 IN和 OUT与首指针 START相等 , 即 START=IN=OUT。 对于输入信息而言 , 设备接收信息时 , 信息输入到 IN指向的缓冲区 , 当一个缓冲区装满后 , IN指针指 向下一个空闲

30、缓冲区 ; 当从缓冲区中提取信息时,提取由 OUT指向的缓冲 区中的信息,提取完毕,将 OUT指针指向下一个装 满信息的缓冲区。 62 2020/11/7 第七章 设备管理 系 统 必 须 考 虑 到 这 种 方 案 的 约 束 条 件 , 即 INOUT( 初始状态除外 )。 从设备输入信息的操作和提取信息的操作共用环形 缓冲时有一定的同步关系 :OUTIN。 当 OUT到达 IN时 , 处理数据的进程必等待 。 由于该方案是个环形链 ;故 当 IN指针达到最后一个缓冲区时 , 它将指向 START指 针 当 IN到达 OUT时 , 从设备输入信息的操作也必须等 待 。 63 2020/11

31、/7 第七章 设备管理 4、缓冲池 环形缓冲区一般用于特定的进程 , 属于专用缓冲区 , 当系统较大时 , 将会有许多这样的环形缓冲区 , 这 不仅要消耗大量的内存空间 , 利用率也不高 。 为了提高缓冲区的利用率 , 目前广泛流行公用缓冲池 , 池中的缓冲区可供多个进程共享 。 缓冲池由内存中一组大小相等的缓冲区组成 , 池中各 缓冲区的大小与用于 I/O的设备的基本信息单位相似 , 缓冲池属于系统资源 , 由系统进行管理 。 缓冲池中各缓冲区可用于输出信息,也可用于输入信 息,并可根据需要组成各种缓冲区队列。 64 2020/11/7 第七章 设备管理 缓冲池 收容输入 提取输入 提取输出

32、 收容输出 hin sout sin hout 用 户 程 序 65 2020/11/7 第七章 设备管理 7.4 设 备 分 配 7.4.1 设备分配方式 7.4.2 设备分配算法 7.4.3 设备分配中的安全性 7.4.4 设备分配的程序 7.4.5 设备分配技术 66 2020/11/7 第七章 设备管理 7.4.1 设备分配方式 静态分配 : 在作业级进行的 , 当一个作业运行之前由系 统一次分配满足需要的全部设备 , 这些设备 一直为该作业占用 , 直到作业撤消 。 这种分 配不会出现死锁 , 但设备的利用效率较低 。 67 2020/11/7 第七章 设备管理 动态分配 在进程运行

33、的过程中进行的,当进程需要使 用设备时,通过系统调用命令向系统提出设 备请求,系统按一定的分配策略给进程分配 所需设备,一旦使用完毕立即释放。显然这 种分配方式有利于提高设备的使用效率,但 会 出现死锁 ,这是应力求避免的。 68 2020/11/7 第七章 设备管理 7.4.2 设备分配算法 1、 先请求先服务 2、 优先级高的优先服务 69 2020/11/7 第七章 设备管理 7.4.3 设备分配中的 安全性 安全分配方式 每当进程发出一个 I/O请求后 , 便进入阻塞状态 , 直到其 I/O操作完成时才被唤醒 。 当它运行时不保持任何设备资源 , 打破了产生死锁一个必要条件 “请求和保

34、持 ” , 所以这种分 配方式是安全的 。 但是这种分配算法使得 CPU与 I/O设备串行 工作 , 设备的利用率比较低 。 不安全分配方式 进程发出一个 I/O请求后仍可以继续运行 , 需要时还可以发 第二个 I/O请求 、 第三个 I/O请求 。 只有当进程所请求的设备 已被另一个进程占用时 , 进程才进入阻塞状态 。 这种分配方 式是不安全 , 因为它可能具备 “ 请求和保持 ” 条件 , 从而可 能造成系统死锁 。 70 2020/11/7 第七章 设备管理 7.4.4 设备分配程序 设备分配程序负责向对系统提出 I/O请求的进程分配设 备 , 及其相应的控制器和通道 。 1. 设备分

35、配中数据结构 数据结构有: 系统设备表 ( SDT) 、 设备控制表 ( DCT) 、 控制器控制表 ( COCT) 、 通道控制表 ( CHCT) 。 每个表的具体内容如下图所示 。 在 整个系统 中 , 有 一张系统设备表 ( SDT) , 用于记 录系统中全部设备的信息 。 每个设备占一个表目 , 其中包括设备类型 、 设备标识符 、 设备控制表指针 及设备驱动程序的入口地址等表项 。 71 2020/11/7 第七章 设备管理 系统为 每一个设备 都配置了 一张设备控制表( DCT) , 用于记录该设备的情况。表中除了有用于指示设备 类型的字段和设备标识符字段外,还应有下列字段: 设备

36、队列的队首指针 :凡因请求本设备而未得到满足 的进程,其 PCB都应按照一定的策略排成一个队列, 称为设备请求队列或简称为设备队列。其队首指针 指向队首 PCB,在有的系统中还设置了队尾指针。 设备状态 :当设备自身处于 “ 忙 ” 状态时,将设备的 忙标志置 “ l”。若与该设备相连接的控制器或通道处 于 “ 忙 ” 状态,而不能启动该设备,则将设备的等 待标志置 “ l”。 72 2020/11/7 第七章 设备管理 设备分配程序 -1 COCT表指针 :该指针指向与该设备相连接的控制器的 控制表。在具有多条通路的情况下,一个设备可与 多个控制器相连接。此时,在 DCT中应设置多个控制 器

37、表指针。 重复执行次数 :外部设备在传送数据时,若发生信息 传送错误,系统并不立即认为传送失败,而是允许 它重新传送。只要在规定的重复次数或时间内恢复 正常传送,则仍认为传送成功,否则才认为传送失 败。 73 2020/11/7 第七章 设备管理 设备分配的数据结构图 SDT集合 SDT DCT集合 DCT COCT集合 COCT CHCT集合 CHCT 表目 1 表目 i 设备类型 设备标识符 进程标识符 DCT表指针 驱动程序入口地址 表目 1 表目 i 设备类型 设备标识符 设备状态 ( 等待 /不等待,忙 /闲) COCT表指针 重复执行的次数或时间 设备队列的队首指针 设备队列的队尾

38、指针 表目 1 表目 i 控制器标识符 控制器状态(忙 /闲) CHCT表指针 控制器队列的队首指针 控制器队列的队尾指针 表目 1 表目 i 通道标识符 通道状态(忙 /闲) COCT表指针 通道队列的队首指针 通道队列的队尾指针 74 2020/11/7 第七章 设备管理 设备分配程序 -2 2。 设备分配的流程 对于具有单通道的系统 , 则当进程提出 I/O请求后 , 系统进行 设备分配的流程图如下图 。 3。 设备分配程序的改进 为了获得设备的独立性 , 进程应用逻辑设备名请求 I/O。 这 样 , 系统首先从 SDT中找出第一个该类设备的 DCT。 如忙 , 则查找第二个该类设备的

39、DCT, 当所有该类设备都忙时 , 才 把进程挂在该类设备的等待队列中 。 实际上 , 系统为了提高可靠性和灵活性 , 通常采用多通路的 I/O系统结构 。 此时对多个控制器和通道的分配 , 必须查找 所有的控制器和通道 , 才能决定是否将该进程挂起 。 75 2020/11/7 第七章 设备管理 单通道系统的设备分配流程 若忙 不忙 不安全 安全 不忙 忙 忙 不忙 进程 P提出所需的 I/O设备 根据物理设备名 , 从 SDT中找出该设备的 DCT 由 DCT的设备状态字段 , 检查该设备是否忙 ? 将该进程的 PCB插入到 该设备的等待队列中 检查本次设备分配是否安全性 ? 将此设备分配

40、给该进程 从其 DCT中找出与该设备连接的控 制器的 COCT, 检查该控制器是否忙 ? 将该进程的 PCB插入到 该控制器的的等待队列中 将该控制器分配给进程 从 COCT中找到与该控制器连接的 通道的 CHCT, 检查该通道是否忙 ? 将该进程的 PCB插入到 该通道的的等待队列中 将该通道分配给进程 至此,设备、控制器和 通道三者都已分配成功 启动 I/O设备,进行具体的 I/O操作 76 2020/11/7 第七章 设备管理 7.4.5 设备分配技术 根据设备的特性把设备分成独占设备 、 共享设 备和虚拟设备三种 。 针对这三种设备采用三种分配技术 : 独享分配 共享分配 虚拟分配 7

41、7 2020/11/7 第七章 设备管理 独享分配 独占型设备有行打印机 , 键盘 , 显示器 。 磁 带机可作为独占设备 , 也可作为共享设备 。 若对这些设备不采用独享分配就会造成混乱 。 因此对独占设备一般采用独享分配 , 即当进 程申请独占设备时 , 系统把设备分配给这个 进程 , 直到进程释放设备 。 78 2020/11/7 第七章 设备管理 共享分配 共享设备包括磁盘 , 磁带和磁鼓 。 对这类设备的分配是采用动态分配的方式进行 的 , 当一个进程要请求某个设备时 , 系统按照 某种算法立即分配相应的设备给请求者 , 请求 者使用完后立即释放 。 79 2020/11/7 第七章

42、 设备管理 虚拟分配 系统中独占设备的数量总是有限的 , 这些独占设备 一旦分配给某个进程往往只有很少时间在工作 , 许 多时间一直处于空闲状态 。 而别的进程又因得不到 相应的设备而不能运行 , 因此严重地影响到整个计 算机系统的效率 。 从另一个角度来说 , 独占设备一般是低速的 , 若采 用联机操作 , 也会增加进程的运行时间 , 影响计算 机系统的效率 。 为提高计算机系统的效率 , 提出了在高速共享设备 上模拟低速设备功能的技术 , 称为虚拟设备技术 。 80 2020/11/7 第七章 设备管理 虚拟分配是针对虚拟设备而言的 。 其实现的过程是 : 当用户 (或进程 )申请独占设备

43、时 。 系统给它分 配共享设备的一部分存储空间 。 当程序要与 设备交换信息时 , 系统就把要交换的信息存 放在这部分存储空间 。 在适当的时候再将存 储空间的信息传输到相应的设备上去处理 。 81 2020/11/7 第七章 设备管理 如系统打印信息时,就把要打印的信息送到某 个存储空间中去,然后由系统在适当时机把 存储空间上的信息送到打印机上打印出来。 这个时机可能是打印机空闲或打印机完成了 一用户的信息输出之后。 通常人们把共享设备中代替独占设备的那部分 存储空间和相应的控制结构称为 虚拟设备 , 并把对这类设备的分配称作虚拟分配。 82 2020/11/7 第七章 设备管理 SPOOL

44、ing系统 Simultaneaus Periphernal Operations On- Line(外部设备同时联机操作)。 在单道批处理时期,用脱机 I/O可以提高 CPU 利用率。多道出现后可以利用一道程序来模 拟脱机 I/O中的外围机,这样可实现在主机控 制下的脱机 I/O功能。 我们把这种在联机情况下实现的同时外围操 作称为 SPOOLing, 也称为 假脱机操作 。 83 2020/11/7 第七章 设备管理 SPOOLing系统的组成 1、输入井和输出井 2、输入缓冲区和输出缓冲区 3、输入进程和输出进程 84 2020/11/7 第七章 设备管理 SPOOLing系统的组成 8

45、5 2020/11/7 第七章 设备管理 SPOOLing系统工作原理 作业执行前预先将程序和数据输入到输入井中 作业运行后,使用数据时,从输入井中取出 作业执行不必直接启动外设输出数据,只需将这些 数据写入输出井中 作业全部运行完毕,再由外设输出全部数据和信息 好处: 实现了对作业输入、组织调度和输出的统一管理 使外设在 CPU直接控制下,与 CPU并行工作(假脱机) 86 2020/11/7 第七章 设备管理 输入装置 输入装置 通 道 通 道 输出装置 输出装置 通 道 主机系统 输入管 输出管 理模块 理模块 外 存 输入井 输出井 SPOOLing系统 图示 87 2020/11/7

46、 第七章 设备管理 SPOOLing系统的特点 1、提高了 I/O速度 2、将独占设备改造为共享设备 3、实现了虚拟设备功能 88 2020/11/7 第七章 设备管理 7.5 设备处理 设备处理程序又称设备驱动程序 , 它是 I/O进 程与设备控制器之间的通信程序 ( 1) 设备处理程序的功能和处理方式 1 设备驱动程序的功能 接收上层软件发来的抽象要求 ( 如 read命令 等 ) , 再把它转换成具体要求 。 89 2020/11/7 第七章 设备管理 检查用户 I/O请求的合法性 , 了解 I/O设备的状态 , 设置工作方式 。 对于设置有通道的计算机系统 , 驱动程序还应能够 根据用

47、户的 I/O请求 , 自动地构成通道程序 。 由驱动程序向设备控制器发出 I/O命令 , 启动分配到 的 I/O设备 , 完成指定的 I/O操作 。 及时响应由控制器或通道发来的中断请求 , 并根据 其中断调用相应的中断处理程序进行处理 。 90 2020/11/7 第七章 设备管理 2 设备处理方式 根据在设备处理时是否设置进程,以及设置什么样的进 程,设备处理方式可分为以下三类: 为每一类设备设置一个 I/O进程,它专门执行这类设备 的 I/O操作。比如为所有的交互终端设置一个交互式终 端进程。 整个系统中设置一个 I/O进程,全面负责系统的数据传 送工作, I/O请求处理模块,设备分配模

48、块以及缓冲器 管理模块和中断原因分析、中断处理模块和后述的设 备驱动模块都是 I/O进程的一部分。由于现代计算机系 统设备十分复杂, I/O负担很重,因此,又可把 I/O进 程分为输入进程和输出进程 。 91 2020/11/7 第七章 设备管理 不设置专门的设备处理进程,而是只为各类设备设置 相应的设备处理程序,供用户进程和系统进程调用。 在 UNIX系统中,每类设备都有一个驱动程序,用它 来控制该类设备。任何一个驱动程序通常都包含了 用于执行不同操作的多个函数,如打开、关闭、启 动设备、读和写等函数。为使核心能方便地转向各 函数,系统为每类设备提供了一个设备开关表,其 中有该类设备的各函数

49、的入口地址,它是核心与驱 动的接口。如下图所示。 92 2020/11/7 第七章 设备管理 设备开关表是系统调用和驱动程序间的接口 Open close Open close read write ioctl mount unmount read write 字符设备开关表 高速缓冲 调用 块设备开关表 Open close read write ioctl 驱动程序 设备中断处理程序 Open close strategy 驱动程序 设备中断处理程序 中断向量 中断向量 设备中断 返 7 93 2020/11/7 第七章 设备管理 ( 2)设备处理程序的处理过程 每类设备有自己的设备处理程

50、序 , 但大体上 它们都再分成两部分 , 主要用于启动设备的设 备驱动程序和负责处理 I/O完成工作的设备中 断处理程序 。 1 设备驱动程序的处理过程 将用户和上层软件对设备控制的抽象要求转换 成对设备的具体要求 , 如对抽象要求的盘块号 转换为磁盘的盘面 、 磁道及扇区 。 94 2020/11/7 第七章 设备管理 检查 I/O请求的合理性 。 读出和检查设备的状态 , 确保设备处于就绪态 。 传送必要的参数 , 如传送的字节数 , 数据在主存的 首址等 。 工作方式的设置 。 启动 I/O设备 , 并检查启动是否成功 , 如成功则将控 制返回给 I/O控制系统 , 在 I/O设备忙于传

51、送数据时 , 该用户进程把自己阻塞 , 直至中断到来才将它唤醒 , 而 CPU可干别的事 。 95 2020/11/7 第七章 设备管理 2中断处理程序的处理过程 在设备控制器控制下, I/O设备完成了 I/O操作后, 控制器(或通道)便向 CPU发出一中断请求, CPU响 应后便转向中断处理程序,中断处理程序大致包含 以下几步: 在设置 I/O进程时,当中断处理程序开始执行时,都 必须去唤醒阻塞的驱动(程序)进程。在采用信号 量机制时,可通过执行 V操作,将处于阻塞状态的驱 动(程序)进程唤醒。 保护被中断进程的 CPU现场。 96 2020/11/7 第七章 设备管理 分析中断原因,转入相

52、应的设备中断处理程序。 进程中断处理,判别此次 I/O完成是正常结束中断 还是异常结束中断,分别作相应处理。 恢复被中断进程或由调度程序选中的进程的 CPU的 现场。 返回被中断的进程,或进入新选中的进程继续运行。 在 UNIX中将以上对各类设备处理相同的部分集中起 来,形成 中断总控程序 ,每当要进行中断处理时, 都要首先进入中断总控程序,再按需要转入不同的 设备处理程序。 97 2020/11/7 第七章 设备管理 习题 1 在 I/O设备控制的发展过程中 , 最主要的推动因素是 A , 提高 I/O速度和设备利用率 , 在 OS中主要依靠 B 功能 。 使用户所编制的程序与实际使用的物理

53、设备无关是由 C 功能实现的 。 A: ( 1) 提高资源利用率; ( 2) 提高系统吞吐量; ( 3) 减少 主机对 I/O控制的干预; ( 4) 提高 CPU与 I/O设备的并行操作 程度 。 B,C: ( 1) 设备分配; ( 2) 缓冲管理; ( 3) 设备管理; ( 4) 设备独立性; ( 5) 虚拟设备 。 2通道是一种特殊的 A ,具有 B 能力。 A:( 1) I/O 设备;( 2)设备控制器;( 3)处理机;( 4) I/O控制器。 B:( 1)执行 I/O指令集;( 2)执行 CPU指令集;( 3)传输 I/O命令;( 4)运行 I/O进程。 (解 ) 98 2020/11

54、/7 第七章 设备管理 习题 -1 2假定把磁盘上一个数据块中信息输入到一单缓冲的时间 T为 100us,将缓冲区中数据传送到用户区的时间 M为 50us,而 CPU 对这一块数据进行计算的时间 C为 50us,这样,系统对每一块 数据的处理时间为 A ;如果将单缓冲改为双缓冲,则 系统对每一块数据的处理时间为 B 。 A,B:( 1) 50us;(2)100us;(3)150us;(4)200us;(5)250us。 3 下面关于设备独立性的论述中 , 第 A 条是正确的论 述 。 ( 1) 设备独立性是 I/O设备具有独立执行 I/O功能的一种特性 。 ( 2) 设备独立性是指用户程序独立

55、于具体使用的物理设备的 一种特性。 ( 3) 设备独立性是指能独立实现设备共享的一种特性。 ( 4) 设备独立性是指设备驱动独立于具体使用的物理设备的 一种特性。 (解 ) 99 2020/11/7 第七章 设备管理 习题 -2 5 下面关于虚拟设备的论述中 , 第 A 条是正确的论述 。 ( 1) 虚拟设备是指允许用户使用比系统中具有的物理设备更 多的设备 。 ( 2) 虚拟设备是指允许用户以标准化方式来使用物理设备。 ( 3) 虚拟设备是把一个物理设备变换成多个对应的逻辑设备。 ( 4) 虚拟设备是指允许用户程序不必全部装入内存便可使用 系统中的设备。 100 2020/11/7 第七章

56、设备管理 6下列有关 SPOOLing系统的论述中,第 A 和 第 B 条是正确的论述 。 ( 1) 构成 SPOOLing系统的基本条件,是具有外围输 入机与外围输出机。 ( 2) 构成 SPOOLing系统的基本条件,是只要具有大 容量、高速硬盘作为输入井与输出井。 ( 3) 只要操作系统中采用了多道程序设计技术,就 可以构成 SPOOLing系统。 101 2020/11/7 第七章 设备管理 习题 -3 ( 4) SPOOLing系统是建立在分时系统中。 ( 5) SPOOLing系统是虚拟存储技术的体现。 ( 6) SPOOLing系统是在用户程序要读取数据时起动输入进程 输入数据。 ( 7) 当输出设备忙时, SPOOLing系统中的用户程序暂停执行, 待 I/O 空闲时再被唤醒,去执行输出操作。 ( 8) SPOOLing系统实现了对 I/O设备的虚拟,只要输入设备空 闲, SPOOLing可预先将输入数据从设备传输到输入井中供用 户程序随时读取。 ( 9) 在 SPOOLing系统中,用户程序可以随时将输出数据送到 输出井中,待输出设备空闲时再执行数据输出操作。 (解 ) 7.试述多通路 I/O系统设备管理中数据结构。 (解 )

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

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

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


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