设备管理

设备管理概述

  1. 设备管理的功能
    • 状态跟踪
    • 设备分配
    • 设备控制
  2. 设备独立性
    • 设备独立性概念
    • 设备独立性的实现
      • 软通道实现设备独立性
      • 通过指派命令实现设备独立性
      • 逻辑设备描述器
    • 设备独立性的优点
      • 方便用户
      • 提高设备的利用率
      • 提高系统的可适应性和可扩展性
  3. 设备控制块
    • 设备控制块结构
    • 命令转换表

缓冲技术

  1. 缓冲概述
    • 什么是缓冲
    • 利用缓冲技术进行I/O操作
    • 缓冲技术解决的问题
  2. 常用的缓冲技术
    • 双缓冲
      • 双缓冲用于数据输入
      • 双缓冲用于数据输出
    • 缓冲池
  3. UNIX系统的缓冲区管理
    • 缓冲首部
    • 队列结构
      • 空闲缓冲区队列
      • 设备缓冲区队列
    • 缓冲管理算法
      缓冲区管理总的思路分析如下:
      • 一个缓冲区被分配用于读/写某设备上的字符块时
      • 当需要一个缓冲区时
      • 当一个标有延迟写的缓冲区时移到空闲队列头时
  4. 缓冲区的检索
    • 分配一个缓冲区
    • 释放一个缓冲区
  5. 读磁盘块和写磁盘块
    • 读磁盘块
    • 写磁盘块
  6. 高度缓存的优点和缺点
    • 优点
      • 提供了统一的磁盘存取方法
      • 减少访盘次数
      • 确保文件系统的完整性
      • 简化用户程序
    • 缺点

设备分配

  1. 设备分配概述
    • 静态分配和动态分配
    • I/O设备分配算法
      • 先请求先服务
      • 优先级最高者优先
  2. 独享分配
  3. 共享分配
  4. 虚拟分配
    • 虚拟设备和虚拟分配
    • Spool(假脱机系统)
    • 虚拟打印功能

输入/输出控制

  1. 输入/输出硬件
    • 端口(port)
    • 总线(bus)
    • 控制器(cobtroller)
  2. 输入/输出控制方式
    • 循环测试I/O方式
    • I/O中断方式
    • 通道方式
    • DMA方式
  3. 输入/输出子系统
    • 输入/输出控制子系统概述
    • 各类设备的接口
      • 块设备接口
      • 主存映射接口
      • 字符流设备接口
      • 网络套接字接口
    • 输入/输出子系统功能
      • 解释用户的I/O系统调用
      • 设备驱动
      • 中断处理
    • 调用I/O核心模块的方式
      • 设备处理进程方式
      • 文件操作方式
  4. 输入/输出控制的例子
    • 通用形式的系统调用
      • 1)实现使用设备的转换
      • 2)合法性检查
      • 3)形成I/O请求块,发消息给相应的设备处理进程
    • 设备处理进程