设备管理的功能:

  1. 设备分配
  2. 缓冲区管理
  3. 实际物理I/O设备操作
  4. 提高设备利用率和方便用户

4.1 I/O 硬件

4.1.1 设备控制器

  • I/O 设备通常包含一个机械部件和一个电子部件. 电子部件被称为 IO 部件或设备控制器
  • 操作系统一般只与控制器打交道, 而非设备本身
  • 早起CPU直接控制外部设备的, 在引入IO部件之后, IO指令功能加强, 才将CPU逐渐从与外设的交互细节中解放出来

在这里插入图片描述

在这里插入图片描述

  • 控制器的任务:
    • 在外部设备与内存 (或CPU) 之间完成比特流 (或外部信号) 和字节块 (流) 之间的转换.

在这里插入图片描述

  • 每个控制器都有一些用来与CPU通讯的IO寄存器, 操作系统通过这些寄存器写命令来实现 IO 功能
    在这里插入图片描述

4.1.2 直接存储器访问控制器

  • DMA 控制器内部结构及外部接口关系

在这里插入图片描述

  • 指令/状态寄存器 CR

  • 内存地址寄存器 MAR

  • 数据寄存器DR

  • 数据计数器DC

  • DMA 的功能可以以独立的DMA部件在系统 I/O 总线上完成, 也可整合到 IO 部件中完成

  • 读写内存时, DMA 部件需要控制总线, CPU可能在设计存储访问时因此而忙等待.

4.1.3 IO 通道

  • 定义: 通道是独立于CPU的专门负责数据输入/输出传输工作的处理机, 对外部设备实现统一管理, 代替CPU对输入/输出操作进行控制, 从而使输入, 输出操作可与CPU并行操作

通道又称输入输出处理机, 术语 “通道” 专指专门用来负责输入输出工作的处理机 (简称 IO处理机). 比起中央处理机CPU来说, 通道是一个 比CPU功能较弱, 速度较慢, 价格较为便宜的处理机, 但 “通道” 一词在微型机中常指 DMA或与IO处理机相连设备的单存的数据传送通路, 它并不具有处理机的功能.

  1. 引入通道的目的: 为了使CPU从IO事务中解脱出来, 同时为了提高CPU与设备, 设备与设备之间的并行工作能力
  2. 通道类型
    • 字节多路通道: 通常按字节交叉的方式工作, 适用于低速 IO 设备
    • 数组选择通道: 按成组方式进行数据传输, 适用于高速IO设备
    • 数组多路通道: 综合前两个优点(数据传送率和通道利用率都较高)
  1. 字节多路通道

字节多路通道以字节为单位传输信息, 它可以分时地执行多个通道程序. 当一个通道程序通知某台设备传送一个字节后, 通道硬件就控制转去执行另一个通道程序, 控制另一台设备传送信息.

主要连接以字节为单位的低速I/O设备. 如打印机, 终端.

以字节为单位交叉传输, 当一台传送一个字节后, 立即转去为另一台传送字节

在这里插入图片描述

  1. 数组选择通道

数组选择通道时以成组方式工作的, 即每次传送一批数据, 故传送速度很高. 选择通道在一段时间内只能执行一个通道程序, 只允许一台设备进行数据传输

当这台设备数据传输完成后, 在选择与通道连接的另一台设备, 执行它的相应通道程序

主要连接磁盘, 磁带等高速IO设备在这里插入图片描述

  1. 数组多路通道

数组多路通道结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点. 它先为一台设备执行一条通道指令, 然后自动转接, 为另一台设备执行一条通道指令. 主要连接高速设备

这样对于连接多态磁盘机的数组多路通道, 它可以启动它们时执行移臂定位操作, 然后, 按序交叉地传输一批批数据. 数据多路道路实际上是对通道程序采用多道程序设计的硬件实现

在这里插入图片描述

  1. 通道原理

通道相当于一个功能简单的处理机, 包含通道指令 (空操作, 读操作, 写操作, 控制, 转移操作), 并可执行这些指令编写的通道程序

  1. 通道运算控制部件
  • 通道地址字 CAW: 记录通道程序在内存中的地址
  • 通道命令字 CCW: 保存正在执行的通道指令
  • 通道状态字 CSW: 存放通道执行后的返回结果
  • 通道数据字 CDW: 存放传输数据, 通道和CPU共用内存, 通过周期窃取方式取得
  1. 通道命令

用于IO操作的命令主要有两种:

  • IO 指令: 启动通道程序
  • 通道命令: 对 IO操作进行控制

读, 反读, 写, 测试设备状态的数据传输命令, 用于设备控制的命令 (磁带反绕, 换页), 实现通道程序内部控制的转移命令

  1. 通道命令格式

命令格式一般包括: 操作码、数据传输内存地址、特征位、计数器

  1. 工作原理
  • CPU: 执行用户程序, 当遇到IO请求时, 可根据该请求生成通道程序放入内存(也可事先编号放入内存), 并且将该通道程序的首地址放入CAW中; 之后执行 "启动IO"指令, 启动通道工作
  • 通道: 接收到"启动IO"指令后, 从CAW中取出通道程序的首地址, 并根据首地址取出第一条指令放入CCW中, 同时向CPU发回答信号, 使CPU可继续执行其他程序, 而通道则开始执行通道程序, 完成传输工作.
    当通道传输完成最后一条指令时, 向CPU发IO中断, 并且通道停止工作. CPU接受中断信号, 从CSW中取得有关信息, 决定下一步做什么;
  1. 通道与CPU的关系
  • 主从关系
  • 可并行工作
  • 有通信方式
  • 作用不同(通道 – IO; CPU – 计算)

在这里插入图片描述
在这里插入图片描述

4.1.4 IO控制方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2 IO 软件

4.2.1 设备的使用与管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三种控制块

在这里插入图片描述

IO设备使用的方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • SPOOLing
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

4.2.2 IO 软件层次结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2.3 缓冲管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2.4 设备驱动程序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2.5 中断处理程序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3 存储设备

4.3.1 常见的存储设备

在这里插入图片描述
在这里插入图片描述

4.3.2 磁盘调度

在这里插入图片描述
在这里插入图片描述

  1. 面向寻道的磁盘调度算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 磁盘旋转调度算法

在这里插入图片描述

4.3.3 磁盘出错处理

在这里插入图片描述

4.3.4 RAM 盘

在这里插入图片描述

4.3.5 磁盘阵列

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部