Skip to main content

操作系统-设备管理

分类

按数据组织

  • 块设备
  • 字符设备

按设备功能

  • 输入
  • 输出
  • 存储
  • 网络
  • 供电
  • ...

从资源分配角度

  • 独占
  • 共享
  • 虚拟

按数据传输率

  • 低速
  • 中速
  • 高速

I/O 软件

向应用提供一个友好、清晰、且统一的接口

I/O 请求层次I/O 应答I/O 功能
V用户进程^I/O 调用、格式化;Spooling
V设备无关软件^命名、保护、阻塞、缓冲、分配
V设备驱动程序^置设备寄存器;检查状态
V中断处理程序^I/O 结束唤醒驱动程序
V硬件^执行 I/O

设备管理技术

通道技术

使数据传输独立于 CPU

DMA 技术

数据在主存与 I/O 设备间直接成块传输

缓冲技术

  • 目的
    • 缓和 CPU 与 I/O 设备速度部匹配
    • 减少 CPU 中断频率
    • 提高 CPU 和 I/O 设备间的并行
  • 实现
    • 单缓冲
    • 双缓冲
    • 多缓冲
    • 环形缓冲

Spooling 技术

  1. 捕获输入请求
  2. 预输入数据(提交状态)至输入井(磁盘)(后备状态)
  3. 作业时间片到
  4. 计算结果(执行状态)
  5. 结果入输出井(磁盘)(执行状态)
  6. 等待缓输出结果(完成状态)
  7. 输出结果

磁盘调度

采用一种适当的算法使各进程对磁盘的平均访问时间最小

驱动调度

  • 先到先服务
    • 🙂 实现简单
    • 🙃 平均寻道时间较长
  • 最短寻道时间优先
    • 🙃 不能保证寻道时间最短
  • 扫描算法
    • 考虑当前最短目标磁道
    • 考虑磁头运行方向
    • 🙃 边界状态,访问刚扫过的磁道要等待磁头
  • 单向扫描调度算法
    • 🙂 规定磁头只做单向运动

旋转调度

磁头定位后,有多个进程等待访问该柱面,应如何决定访问次序