【学习笔记】第五章——I/O(设备分类、控制方式、软件层次结构、假脱机、缓冲)

文章目录

  • 一. 设备分类与控制方式
      • 1)设备分类
      • 2)控制方式
          • 1. 程序直接控制方式
          • 2. 中断驱动方式
          • 3. DMA 方式
          • 4. 通道控制方式
          • 总结
  • 二. 软件层次结构与假脱机
      • 1)软件层次结构
      • 2)脱机 - 假脱机
  • 三. 缓冲(重点)
      • 1)缓冲简介
      • 2)单缓冲、双缓冲
      • 3)循环缓冲、缓冲池

很感动,终于结束了拖延了这么久的操作系统网课= =

一. 设备分类与控制方式

1)设备分类

  • 举例:鼠标、键盘、显示器、移动硬盘等
    【学习笔记】第五章——I/O(设备分类、控制方式、软件层次结构、假脱机、缓冲)_第1张图片

2)控制方式

1. 程序直接控制方式
  • 轮询,CPU 干预频率频繁。
  • 实现简单,但是 CPU 利用率低
2. 中断驱动方式
  • 每次 I/O 操作开始之前、完成之后需要 CPU 介入
  • CPU 利用率得到提升,但频繁的中断处理会消耗较多的 CPU 资源
3. DMA 方式
  • 不再需要经过 CPU
  • 传输以为单位,CPU 和 I/O 的并行性得到提升。
  • 缺点:需要连续,不能处理离散(需要多次中断)
4. 通道控制方式
  • 引入通道:一种硬件,可以识别并执行一系列通道指令
  • 实现复杂,需要专门的通道硬件
  • 但是资源利用率很高
总结
  • CPU 干预频率逐步下降
  • 每次 I/O 的数据传输单位逐步变大

二. 软件层次结构与假脱机

1)软件层次结构

  • 用户层软件:提供库函数
  • 设备独立性软件、设备驱动程序、中断处理程序 =》 I/O 核心层
  • I/O 请求自顶向下,得到的 I/O 应答自底向上
  • 设备独立性软件:向上提供系统调用接口

2)脱机 - 假脱机

  • 脱机:缓解设备与 CPU 的速度矛盾(预输入、缓输出
  • 假脱机:用软件模拟脱机(SPOLLing 技术)。
  • 共享打印机:通过假脱机技术,把独占的打印机虚拟成共享的打印机(用户感觉)

三. 缓冲(重点)

1)缓冲简介

  • 可以用专门的硬件寄存器,但一般用内存作为缓冲区。
    【学习笔记】第五章——I/O(设备分类、控制方式、软件层次结构、假脱机、缓冲)_第2张图片
  • 作用
    1. 缓和 CPU - I/O 之间速度不匹配的问题
    2. 减少 CPU 的中断频率
    3. 提高 CPU - I/O设备 的并行性,解决数据粒度不匹配的问题。

2)单缓冲、双缓冲

  • 单缓冲一个缓冲区,非空时不能入,非满时不能出
    【学习笔记】第五章——I/O(设备分类、控制方式、软件层次结构、假脱机、缓冲)_第3张图片
  • 双缓冲两个缓冲区
    在这里插入图片描述
  • 双缓冲才能实现双向传输(如管道通信)
    【学习笔记】第五章——I/O(设备分类、控制方式、软件层次结构、假脱机、缓冲)_第4张图片

3)循环缓冲、缓冲池

  • 循环缓冲区:构成一个下图的循环队列
    【学习笔记】第五章——I/O(设备分类、控制方式、软件层次结构、假脱机、缓冲)_第5张图片
  • 缓冲池:只能说池化设计就是 yyds。队列 + 共用的缓冲区
  • 四种缓冲区:收容输入、提取输入;收容输出、提取输出

你可能感兴趣的:(操作系统学习,操作系统,I/O)