I/O 管理 —— 缓冲区管理

一、缓冲区的概念和作用


缓冲区是一个存储区域,可以由专门的硬件寄存器组成,也可利用内存作为缓冲区。

  • 使用硬件作为缓冲区的成本较高,容量也较小,一般仅用在对速度要求非常高的场合(如存储器管理中所用的相联寄存器,由于对页表的访问频率极高,因此使用速度很快的相联寄存器来存放页表项的副本)
  • 一般情况下,更多的是利用内存作为缓冲区,“设备独立性软件”的缓冲区管理就是要组织管理好这些缓冲区

缓冲区的作用如下

  • 缓和 CPU 与 I/O 设备之间速度不匹配的矛盾
  • 减少对 CPU 的中断频率,放宽对 CPU 中断相应时间的限制
  • 解决数据粒度不匹配的问题(如:输出进程每次可以生成一块数据,但 I/O 设备每次只能输出一个字符)
  • 提高 CPU 与 I/O 设备之间的并行性

二、单缓冲


I/O 管理 —— 缓冲区管理
I/O 管理 —— 缓冲区管理

三、双缓冲


I/O 管理 —— 缓冲区管理
I/O 管理 —— 缓冲区管理
I/O 管理 —— 缓冲区管理

四、循环缓冲


I/O 管理 —— 缓冲区管理

五、缓冲池


I/O 管理 —— 缓冲区管理