设备的类别

  • 按实用特性

    • 存储设备
    • 输入/输出设备
    • 终端设备
    • 脱机设备
  • 按设备的从属关系

    • 系统设备
    • 用户设备
  • 信息组织方式

    • 块设备
    • 字符设备
  • 速度

    • 低:键盘
    • 中:打印机
    • 高:磁盘
  • 资源分配角度

    • 独占设备(打印机)
    • 共享设备(磁盘)
    • 虚拟设备(SPOOLing技术)

设备管理的任务

选择和分配输入输出设备

控制输入输出设备和CPU及内存之间交换数据

为用户提供一个友好接口

提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作程度,以使操作系统获得最佳效率

数据传输控制方式

程序直接控制方式
中断控制方式
DMA方式
通道方式

缓冲技术

  • 引入

    • 缓和I/O设备与CPU间速度不匹配的矛盾
    • 减少对CPU的中断频率,放宽CPU对中断的响应时间
    • 提高CPU和I/O并行性
  • 实现方法

    • I/O控制方式

设备分配

数据结构

设备控制表(DCT) 每个设备一个
系统设备表(SDT) 整个系统一个
控制器表(COCT) 每个控制器一个
通道控制表(CHCT) 每个通道一个

总原则

  • 充分发挥设备的使用效率
  • 尽可能的让设备忙
  • 尽量避免因不合理的分配方法造成的进程死锁
  • 使用户程序面对逻辑设备

策略

  • FIFO
  • 优先权

磁盘的调度

先来先服务调度算法(FCFS)

以I/O请求到达的先后次序作为磁盘调度的顺序

最短查找时间优先调度算法(SSTF)

把距离磁头当前位置最近的请求作为下一次调度的对象

电梯调度算法(基本扫描)(SCAN)

沿着移动臂的移动方向选择距离磁头当前位置最近的请求作为下一次调度的对象

如果该方向上已无I/O请求,则改变方向再做选择

单向扫描调度算法(循环扫描)(CSCAN)

从0号柱面开始往里移动磁臂,遇到有请求就进行处理, 直到到达最后一个请求柱面。 移动臂立即带动磁头不做任何服务地快速返回到0号柱面, 开始下一次扫描