0%

操作系统复习笔记4-设备管理

5.设备管理

I/O体系结构

从上至下依次为

  • 用户层软件:产生 I/O 请求、格式化 I/O、Spooling
  • 设备独立性软件:映射、保护、分块、缓冲、分配
  • 设备驱动程序:设置设备寄存器、检查状态
  • 中断处理程序
  • 硬件:执行 I/O 操作

I/O控制方法

IO控制流程对比
  • 采用轮询的可编程 I/O 方式
    • 易于实现,但 CPU 和 I/O 设备只能串行工作,CPU效率较低
  • 采用中断的可编程 I/O 方式
    • 比上一种方法有优势,但数据中的每一个字在存储器与 I/O 控制器之间的传输都要经过 CPU ,这就导致这种方式仍会消耗较多的 CPU 时间
  • 直接存储器访问(DMA)方式
    • DMA 控制时,传输基本单位是数据块,只有传送开始和结束时才需要 CPU 的参与,CPU 利用率较高
  • I/O 通道方式(通道是一种特殊的硬件
    • I/O 通道传送基本单位是一组数据块,有更高的自主权,CPU 利用率更高

总结:整个 I/O 控制方法的发展,总的来说就是四个字——“简政放权”:减轻 CPU 对所有操作控制的压力,让合适的“人”(如其他专门硬件)去处理合适的“事”(如这里的 I/O 操作)。

I/O分配中的数据结构和分配方法

设备分配中的数据结构

设备控制表 (DCT)

DCT

控制器控制表(COCT)、通道控制表(CHCT)、系统设备控制表(SDT)

COCT-CHCT-SDT

上述几种数据结构之间的关系

  • DCT 与 COCT 一一对应
  • CHCT 与 COCT 一对多(一个通道可谓多个设备控制器服务)
  • SDT 整个系统只有 一张

分配方法

设备分配的安全性指分配设备时防止发生死锁

(具体见教材)

通道和通道程序

通道

(具体见教材)

通道程序(★)

  • 通道程序由一系列通道指令构成。
  • 通道指令构成如下
    • 操作码:包括 控制 等操作
    • 内存地址:操作数据的内存首址
    • 计数:操作数据的字节数(与上一项 内存地址 相加,即可获得操作数据的内存范围)
    • 通道程序结束位 PP = 1 表示本条指令是通道程序的最后一条指令
    • 记录结束标志 RR = 0 表示本条指令和下一条指令处理的数据是同一条记录R = 1 表示这是处理某条记录的最后一条指令

设备独立性及其实现方法

设备独立性

(具体见教材)

实现方法

(具体见教材)

虚拟设备和SPOOLing技术

SPOOLing技术(★★★)

(具体见教材)

缓冲管理(★★★★★)

假设一块数据

操作 所需时间
磁盘 → 缓冲区 T
缓冲区 → 用户区 M
CPU 处理 C

单缓冲(★★★)

  • 每块数据处理时间为
    • max(C, T) + M

双缓冲(★★★)

  • 每块数据处理时间为
    • max(C+M, T)

时间计算小结:能并行的放在 max 内取大的,再和只能串行的任务时间相加

环形缓冲

(具体见教材)

缓冲池

(具体见教材)

设备处理与I/O软件

(具体见教材)

设备分配

(具体见教材)

参考资料

  1. 计算机操作系统.汤小丹等
  2. 2020年操作系统考研复习指导.王道论坛