文章目录
- 一. 设备分类与控制方式
- 1)设备分类
- 2)控制方式
- 1. 程序直接控制方式
- 2. 中断驱动方式
- 3. DMA 方式
- 4. 通道控制方式
- 总结
- 二. 软件层次结构与假脱机
- 1)软件层次结构
- 2)脱机 - 假脱机
- 三. 缓冲(重点)
- 1)缓冲简介
- 2)单缓冲、双缓冲
- 3)循环缓冲、缓冲池
很感动,终于结束了拖延了这么久的操作系统网课= =
一. 设备分类与控制方式
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)缓冲简介
- 可以用专门的硬件寄存器,但一般用内存作为缓冲区。
- 作用:
- 缓和 CPU - I/O 之间速度不匹配的问题
- 减少 CPU 的中断频率
- 提高 CPU - I/O设备 的并行性,解决数据粒度不匹配的问题。
2)单缓冲、双缓冲
- 单缓冲:一个缓冲区,非空时不能入,非满时不能出
- 双缓冲:两个缓冲区
- 双缓冲才能实现双向传输(如管道通信)
3)循环缓冲、缓冲池
- 循环缓冲区:构成一个下图的循环队列
- 缓冲池:只能说池化设计就是 yyds。队列 + 共用的缓冲区
- 四种缓冲区:收容输入、提取输入;收容输出、提取输出