I/O系统管理的最主要的任务

  1. 完成用户提出的I/O请求
  2. 提高I/O速率
  3. 提高设备的利用率
  4. 能为更高层的进程方便地使用这些设备提供手段

I/O系统的基本功能

  1. 隐藏物理设备的细节
  2. 与设备无关性
  3. 提高处理机和IO设备的利用率
  4. 对IO设备进行控制
  5. 确保设备的正确共享
  6. 错误处理

I/O系统的分层

  1. 中断处理程序
  2. 设备驱动程序
  3. 设备独立性软件

I/O系统接口

  1. 块设备接口
  2. 流设备(字符设备)接口
  3. 网络通信接口

设备控制器的基本功能

  1. 接收和识别命令
  2. 数据交换
  3. 标识和报告设备的状态
  4. 地址识别
  5. 数据缓冲区
  6. 差错控制

设备控制器的组成

设备控制器位于CPU与设备之间,它既要与CPU通信,又要与设备通信,还应具有按照CPU所发来的命令去控制设备工作的功能 现有的大多数控制器都是由以下三部分组成: 1. 设备控制器与处理机的接口 2. 设备控制器与设备的接口 3. I/O逻辑

I/O通道

通道类型 1. 字节多路通道 按字节交叉方式工作的通道。它通常都含有许多非分配型子通道,这些子通道按时间片轮转方式共享主通道。 2. 数组选择通道 按数组方式进行数据传送 3. 数组多路通道 数组选择通道虽有很高的传输速率,但它却每次只允许一个设备传输数据,结合上述二者优点

设备驱动程序功能

  1. 接收由与设备无关的软件发来的命令和参数,并将命令中的抽象要求转换为与设备相关的低层操作序列
  2. 检查用户I/O请求的合法性,了解I/O设备的工作状态,传递与I/O设备操作有关的参数,设置设备的工作方式
  3. 发出I/O命令,如果设备空闲,便立即启动I/O设备,完成指定的I/O操作;如果设备忙碌,则将请求者的请求块挂在设备队列上等待
  4. 及时响应由设备控制器发来的中断请求,并根据其中断类型,调用相应的中断处理程序进行处理。

设备分配

设备分配时应考虑的因素: 1. 设备的固有属性(独占、共享、虚拟) 2. 设备分配算法(FCFS,优先级) 3. 安全性(安全&不安全分配方式)

假脱机(Spooling)系统

为了缓和CPU的高速性与I/O设备低速性间的矛盾,而引入了脱机输入、脱机输出技术。 该技术是利用专门的外围控制机,先将低速I/O设备上的数据传送到高速磁盘上,或者相反。 这样当处理机需要输入数据时,便可以直接从磁盘中读取数据,极大地提高了输入速度。 反之,在处理机需要输出数据时,也可以很快的速度把数据先输出到磁盘上,处理机便可去做自己的事情。

SPOOLing系统建立在通道技术和多道程序技术的基础上,以高速随机外存(通常为磁盘)为后援存储器

SPOOLing系统主要由以下四部分构成: 1. 输入井和输出井 2. 输入缓冲区和输出缓冲区 3. 输入进程和输出进程 4. 井管理程序

SPOOLing系统的特点 1. 提高了I/O的速度 2. 将独占设备改造为共享设备 3. 实现了虚拟设备功能

磁盘存储器的性能和调度

磁盘设备在工作时以恒定速率旋转。为了读或写,磁头必须能移动到所指定的磁道上,并等待所指定的扇区的开始位置旋转到磁头下,然后再开始读或写数据 磁盘调度算法: 1. 先来先服务(FCFS) 2. 最短寻道时间优先(SSTF) 3. 扫描(SCAN)算法 4. 循环扫描(CSCAN)算法: 磁头单向运动 5. NStepSCAN算法和 FSCAN算法




注:

  1. 内容仅供参考
  2. 参考教材:《计算机操作系统》(汤小丹)(第四版)
  3. 考试前匆忙整理,比较粗糙,请多担待
  4. 如有错误,请联系我