[精选]数据库PPT chapter5 设备管理30971.pptx
《[精选]数据库PPT chapter5 设备管理30971.pptx》由会员分享,可在线阅读,更多相关《[精选]数据库PPT chapter5 设备管理30971.pptx(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章 设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理 5.1 I/O 系 统 5.1.1 I/O 设备 1.I/O 设备的类型 1)按传输速率分类 按 传 输 速 度 的 高 低,可 将I/O 设 备 分 为 三 类。第 一 类 是 低 速设 备,这 是 指 其 传 输 速 率 仅 为 每 秒 钟 几 个 字 节 至 数 百 个 字 节 的一 类 设 备。属 于 低 速 设 备 的 典 型 设 备 有 键 盘、鼠 标 器、语 音 的输 入 和 输 出 等 设 备。第 二 类 是 中 速 设 备,这 是 指 其
2、 传 输 速 率 在每 秒 钟 数 千 个 字 节 至 数 万 个 字 节 的 一 类 设 备。典 型 的 中 速 设 备有 行 式 打 印 机、激 光 打 印 机 等。第 三 类 是 高 速 设 备,这 是 指 其传 输 速 率 在 数 百 千 个 字 节 至 数 十 兆 字 节 的 一 类 设 备。典 型 的 高速设备有磁带机、磁盘机、光盘机等。2)按信息交换的单位分类 可 将I/O 设 备 分 成 两 类。第 一 类 是 块 设 备(Block Device),这 类 设 备 用 于 存 储 信 息。由 于 信 息 的 存 取 总 是 以 数 据 块 为单 位,故 而 得 名。它 属 于
3、 有 结 构 设 备。典 型 的 块 设 备 是 磁盘,每 个 盘 块 的 大 小 为512 B4 KB。磁 盘 设 备 的 基 本 特 征 是其 传 输 速 率 较 高,通 常 每 秒 钟 为 几 兆 位;另 一 特 征 是 可 寻 址,即 对 它 可 随 机 地 读/写 任 一 块;此 外,磁 盘 设 备 的I/O 常 采 用DMA 方 式。第 二 类 是 字 符 设 备(Character Device),用 于 数据的输入和输出。其基本单位是字符,故称为字符设备。3)按设备的共享属性分类这种分类方式可将I/O 设备分为如下三类:(1)独占设备。(2)(2)共享设备。(3)(3)虚拟设备
4、。2.设备与控制器之间的接口 图 5-1 设备与控制器间的接口 5.1.2 设备控制器1.设备控制器的基本功能 1)接收和识别命令 2)2)数据交换 3)3)标识和报告设备的状态 4)4)地址识别 5)5)数据缓冲 6)6)差错控制 2.设备控制器的组成 图 5-2 设备控制器的组成 5.1.3 I/O 通道 1.I/O 通道(I/O Channel)设备的引入 实 际 上,I/O 通 道 是 一 种 特 殊 的 处 理 机。它 具 有 执 行I/O指 令 的 能 力,并 通 过 执 行 通 道(I/O)程 序 来 控 制I/O 操 作。但I/O 通道又与一般的处理机不同,主要表现在以下两个方
5、面:一 是 其 指 令 类 型 单 一,这 是 由 于 通 道 硬 件 比 较 简 单,其 所 能 执 行 的 命 令,主 要 局 限 于 与I/O 操 作 有 关 的 指 令;再就 是 通 道 没 有 自 己 的 内 存,通 道 所 执 行 的 通 道 程 序 是 放 在 主机的内存中的,换言之,是通道与CPU 共享内存。2.通道类型 1)字节多路通道(Byte Multiplexor Channel)图 5-3 字节多路通道的工作原理 2)数组选择通道(Block Selector Channel)字 节 多 路 通 道 不 适 于 连 接 高 速 设 备,这 推 动 了 按 数 组 方式
6、 进 行 数 据 传 送 的 数 组 选 择 通 道 的 形 成。这 种 通 道 虽 然 可 以连 接 多 台 高 速 设 备,但 由 于 它 只 含 有 一 个 分 配 型 子 通 道,在一 段 时 间 内 只 能 执 行 一 道 通 道 程 序,控 制 一 台 设 备 进 行 数 据传 送,致 使 当 某 台 设 备 占 用 了 该 通 道 后,便 一 直 由 它 独 占,即 使 是 它 无 数 据 传 送,通 道 被 闲 置,也 不 允 许 其 它 设 备 使 用该 通 道,直 至 该 设 备 传 送 完 毕 释 放 该 通 道。可 见,这 种 通 道的利用率很低。3)数组多路通道(Bl
7、ock Multiplexor Channel)数 组 选 择 通 道 虽 有 很 高 的 传 输 速 率,但 它 却 每 次 只 允许 一 个 设 备 传 输 数 据。数 组 多 路 通 道 是 将 数 组 选 择 通 道 传输 速 率 高 和 字 节 多 路 通 道 能 使 各 子 通 道(设 备)分 时 并 行 操作 的 优 点 相 结 合 而 形 成 的 一 种 新 通 道。它 含 有 多 个 非 分 配型 子 通 道,因 而 这 种 通 道 既 具 有 很 高 的 数 据 传 输 速 率,又能 获 得 令 人 满 意 的 通 道 利 用 率。也 正 因 此,才 使 该 通 道 能被
8、广 泛 地 用 于 连 接 多 台 高、中 速 的 外 围 设 备,其 数 据 传 送是按数组方式进行的。3.“瓶颈”问题 图 5-4 单通路I/O 系统 图 5-5 多通路I/O 系统 5.1.4 总线系统 图 5-6 总线型I/O 系统结构 1.ISA 和EISA 总线 1)ISA(Industry Standard Architecture)总线 这 是 为 了1984年 推 出 的80286型 微 机 而 设 计 的 总 线 结 构。其 总 线 的 带 宽 为8位,最 高 传 输 速 率 为2 Mb/s。之 后 不 久 又 推出 了16 位 的(EISA)总 线,其 最 高 传 输 速
9、 率 为8 Mb/s,后 又 升至16 Mb/s,能连接12台设备。2)EISA(Extended ISA)总线 到80年 代 末 期,ISA 总 线 已 难 于 满 足 带 宽 和 传 输 速 率 的 要求,于 是 人 们 又 开 发 出 扩 展ISA(EISA)总 线,其 带 宽 为32位,总线的传输速率高达32 Mb/s,同样可以连接12台外部设备。2.局部总线(Local Bus)1)VESA(Video Electronic Standard Association)总线 2)2)PCI(Peripheral Component Interface)总线 5.2 I/O 控制方式 5
10、.2.1 程序I/O 方式 在 程 序I/O 方 式 中,由 于CPU 的 高 速 性 和I/O 设 备 的 低速 性,致 使CPU 的 绝 大 部 分 时 间 都 处 于 等 待I/O 设 备 完 成数 据I/O 的 循 环 测 试 中,造 成 对CPU 的 极 大 浪 费。在 该 方式 中,CPU 之 所 以 要 不 断 地 测 试I/O 设 备 的 状 态,就 是 因 为在CPU 中 无 中 断 机 构,使I/O 设 备 无 法 向CPU 报 告 它 已 完成了一个字符的输入操作。图 5-7 程序I/O 和中断驱动方式的流程 5.2.2 中断驱动I/O 控制方式 在I/O 设 备 输 入
11、 每 个 数 据 的 过 程 中,由 于 无 须CPU 干 预,因 而 可 使CPU 与I/O 设 备 并 行 工 作。仅 当 输 完 一 个 数 据 时,才需CPU 花 费 极 短 的 时 间 去 做 些 中 断 处 理。可 见,这 样 可 使CPU 和I/O 设 备 都 处 于 忙 碌 状 态,从 而 提 高 了 整 个 系 统 的 资 源利 用 率 及 吞 吐 量。例 如,从 终 端 输 入 一 个 字 符 的 时 间 约 为100 ms,而 将 字 符 送 入 终 端 缓 冲 区 的 时 间 小 于 0.1 ms。若 采 用程 序I/O 方 式,CPU 约 有 99.9 ms 的 时
12、间 处 于 忙等 待 中。采用 中 断 驱 动 方 式 后,CPU 可 利 用 这 99.9 ms 的 时 间 去 做 其 它 事情,而 仅 用 0.1 ms 的 时 间 来 处 理 由 控 制 器 发 来 的 中 断 请 求。可见,中断驱动方式可以成百倍地提高CPU 的利用率。5.2.3 直接存储器访问DMA I/O 控制方式 1.DMA(Direct Memory Access)控制方式的引入 该 方 式 的 特 点 是:数 据 传 输 的 基 本 单 位 是 数 据 块,即 在CPU 与I/O 设 备 之 间,每 次 传 送 至 少 一 个 数 据 块;所 传 送 的数 据 是 从 设
13、备 直 接 送 入 内 存 的,或 者 相 反;仅 在 传 送 一 个或 多 个 数 据 块 的 开 始 和 结 束 时,才 需CPU 干 预,整 块 数 据 的 传送 是 在 控 制 器 的 控 制 下 完 成 的。可 见,DMA 方 式 较 之 中 断 驱动 方 式,又 是 成 百 倍 地 减 少 了CPU 对I/O 的 干 预,进 一 步 提 高了CPU 与I/O 设备的并行操作程度。2.DMA 控制器的组成 图 5-8 DMA 控制器的组成 为 了 实 现 在 主 机 与 控 制 器 之 间 成 块 数 据 的 直 接 交 换,必须在DMA 控制器中设置如下四类寄存器:(1)命 令/状
14、 态 寄 存 器CR。用 于 接 收 从CPU 发 来 的I/O 命令或有关控制信息,或设备的状态。(2)内 存 地 址 寄 存 器MAR。在 输 入 时,它 存 放 把 数 据 从设 备 传 送 到 内 存 的 起 始 目 标 地 址;在 输 出 时,它 存 放 由 内 存到设备的内存源地址。(3)数 据 寄 存 器DR。用 于 暂 存 从 设 备 到 内 存,或 从 内 存到设备的数据。(4)数据计数器DC。存放本次CPU 要读或写的字(节)数。3.DMA 工作过程 图 5-9 DMA 方式的工作流程 5.2.4 I/O 通道控制方式 1.I/O 通道控制方式的引入 I/O 通 道 方 式
15、 是DMA 方 式 的 发 展,它 可 进 一 步 减 少CPU的 干 预,即 把 对 一 个 数 据 块 的 读(或 写)为 单 位 的 干 预,减 少为 对 一 组 数 据 块 的 读(或 写)及 有 关 的 控 制 和 管 理 为 单 位 的 干预。同 时,又 可 实 现CPU、通 道 和I/O 设 备 三 者 的 并 行 操 作,从 而 更 有 效 地 提 高 整 个 系 统 的 资 源 利 用 率。例 如,当CPU 要完 成 一 组 相 关 的 读(或 写)操 作 及 有 关 控 制 时,只 需 向I/O 通 道发 送 一 条I/O 指 令,以 给 出 其 所 要 执 行 的 通 道
16、 程 序 的 首 址 和 要访 问 的I/O 设 备,通 道 接 到 该 指 令 后,通 过 执 行 通 道 程 序 便 可完成CPU 指定的I/O 任务。2.通道程序(1)操作码。(2)(2)内存地址。(3)(3)计数。(4)(4)通道程序结束位P。(5)(5)记录结束标志R。操作P R计数 内存地址WRITE 0 0 80 813WRITE 0 0 140 1034WRITE 0 1 60 5830WRITE 0 1 300 2000WRITE 0 0 250 1850WRITE 1 1 250 7205.3 缓 冲 管 理 5.3.1 缓冲的引入(1)缓和CPU 与I/O 设备间速度不匹
17、配的矛盾。(2)(2)减少对CPU 的中断频率,放宽对CPU 中断响应时间的限制。(3)(3)提高CPU 和I/O 设备之间的并行性。图 5-10 利用缓冲寄存器实现缓冲 5.3.2 单缓冲和双缓冲 1.单缓冲(Single Buffer)图 5-11 单缓冲工作示意图 2.双缓冲(Double Buffer)图 5-12 双缓冲工作示意图 图 5-13 双机通信时缓冲区的设置 5.3.3 循环缓冲 1.循环缓冲的组成 图 5-14 循环缓冲(1)定义循环缓存:#defineMAX_BUFF_LEN1024/定义缓存大小typedefstruct/定义数据结构uintdata;DATA_BUF
18、F_T;typedefstruct/定义缓存结构uintreadPos;uintwritePos;DATA_BUFF_TDATAMAX_BUFF_LEN;DATAS_BUFF_T;staticDATAS_BUFF_TBuff0;/定义缓存(2)初始化循环缓存:Buff0.readPos=0;Buff0.writePos=0;(3)判断缓存中是否有数据:BOOLHaveData_Buff(void)if(Buff0.readPos!=Buff0.write.Pos)return1;elsereturn0;(4)向缓存中写数据:BOOLWriteData(uintdata)uintnextPos;
19、nextPos=(Buff0.writePos+1)%MAX_BUFF_LEN;if(nectPos!=Buff0.readPos)/判断缓存是否满Buff0.DATAwritePos.data=data;Buff0.writePos=nextPos;return1;elsereturn0;(5)从缓存中读数据:uintReadData(void)uintdataTemp;if(HaveData_Buff()=1)dataTemp=Buff0.DATAReadPos.data;ReadPos=(ReadPos+1)%MAX_BUFF_LEN;returndataTemp;2.循环缓冲区的使用(
20、1)Getbuf 过程。(2)(2)Releasebuf 过程。3.进程同步(1)Nexti 指针追赶上Nextg 指针。(2)(2)Nextg 指针追赶上Nexti 指针。5.3.4 缓冲池(Buffer Pool)1.缓冲池的组成 对 于 既 可 用 于 输 入 又 可 用 于 输 出 的 公 用 缓 冲 池,其 中至 少 应 含 有 以 下 三 种 类 型 的 缓 冲 区:空(闲)缓 冲 区;装 满 输 入 数 据 的 缓 冲 区;装 满 输 出 数 据 的 缓 冲 区。为 了管 理 上 的 方 便,可 将 相 同 类 型 的 缓 冲 区 链 成 一 个 队 列,于 是可形成以下三个队列
21、:(1)空缓冲队列emq。(2)输入队列inq。(3)输出队列outq。2.Getbuf过程和Putbuf 过程 Procedure Getbuf(type)begin Wait(RS(type);Wait(MS(type);B(number)KG-*3=Takebuf(type);Signal(MS(type);end Procedure Putbuf(type,number)begin Wait(MS(type);Addbuf(type,number);Signal(MS(type);Signal(RS(type);end 3.缓冲区的工作方式 图 5-15 缓冲区的工作方式 5.4 设
22、备 分 配 5.4.1 设备分配中的数据结构 1.设备控制表DCT 图 5-16 设备控制表 2.控制器控制表、通道控制表和系统设备表 图 5-17 COCT、CHCT 和SDT 表 5.4.2 设备分配时应考虑的因素 1.设备的固有属性(1)独享设备。(2)(2)共享设备。(3)虚拟设备。2.设备分配算法(1)先来先服务。(2)(2)优先级高者优先。3.设备分配中的安全性 1)安全分配方式 2)2)不安全分配方式 5.4.3 设备独立性 1.设备独立性(Device Independence)的概念 为 了 提 高OS 的 可 适 应 性 和 可 扩 展 性,在 现 代OS 中 都 毫 无例
23、 外 地 实 现 了 设 备 独 立 性,也 称 为 设 备 无 关 性。其 基 本 含 义是:应 用 程 序 独 立 于 具 体 使 用 的 物 理 设 备。为 了 实 现 设 备 独立 性 而 引 入 了 逻 辑 设 备 和 物 理 设 备 这 两 个 概 念。在 应 用 程 序中,使 用 逻 辑 设 备 名 称 来 请 求 使 用 某 类 设 备;而 系 统 在 实 际执 行 时,还 必 须 使 用 物 理 设 备 名 称。因 此,系 统 须 具 有 将 逻辑 设 备 名 称 转 换 为 某 物 理 设 备 名 称 的 功 能,这 非 常 类 似 于 存储器管理中所介绍的逻辑地址和物理地
24、址的概念。在 实 现 了 设 备 独 立 性 的 功 能 后,可 带 来 以 下 两 方面的好处。1)设备分配时的灵活性 2)易于实现I/O 重定向 2.设备独立性软件 1)执行所有设备的公有操作 这 些 公 有 操 作 包 括:对 独 立 设 备 的 分 配 与 回 收;将 逻 辑 设 备 名 映 射 为 物 理 设 备 名,进 一 步 可 以 找 到 相 应物 理 设 备 的 驱 动 程 序;对 设 备 进 行 保 护,禁 止 用 户 直接 访 问 设 备;缓 冲 管 理,即 对 字 符 设 备 和 块 设 备 的 缓冲 区 进 行 有 效 的 管 理,以 提 高I/O 的 效 率;差 错
25、 控 制。由 于 在I/O 操 作 中 的 绝 大 多 数 错 误 都 与 设 备 无 关,故 主 要 由设 备 驱 动 程 序 处 理,而 设 备 独 立 性 软 件 只 处 理 那 些 设 备 驱动程序无法处理的错误。2)向用户层(或文件层)软件提供统一接口 无论何种设备,它们向用户所提供的接口应该是相同的。例如,对各种设备的读操作,在应用程序中都使用read;而对各种设备的写操作,也都使用write。3.逻辑设备名到物理设备名映射的实现 1)逻辑设备表2)2)LUT 的设置问题 图 5-18 逻辑设备表 5.4.4 独占设备的分配程序 1.基本的设备分配程序 1)分配设备 2)2)分配控
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 精选数据库PPT chapter5 设备管理30971 数据库 PPT 设备管理 30971
限制150内