# 六、设备管理
# 1. 广义的 IO 设备
对CPU而言,凡是对CPU进行数据输入的都是输入设备,凡是CPU进行数据输出的都是输出设备。
# 1.1 按使用特性分类
存储设备
- U 盘
- 内存
- 磁盘
交互 IO 设备
- 键盘
- 显示器
- 鼠标
# 1.2 按设备的共享属性分类
- 独占设备
- 共享设备
- 虚拟设备
# 1.3 按信息交换的单位分类
块设备
- 磁盘
- SD 卡
字符设备
- 打印机
- Shell 终端
# 1.4 按传输速率分类
- 低速设备
- 中速设备
- 高速设备
# 2. IO 设备的缓冲区
IO 设备缓冲区的作用是解决 CPU 与 IO 设备速率不匹配的问题。
# 思路
- 减少 CPU 处理 IO 请求的频率
- 提高 CPU 与 IO 设备之间的并行性
# 专用缓冲区
- 专用缓冲区只适用于特定的IO进程。
- 当这样的IO进程比较多时,对内存的消耗也很大。
# 缓冲池
操作系统划出可供多个进程使用的公共缓冲区,称之为缓冲池。
# 3. SPOOLing 技术
SPOOLing 是关于慢速字符设备如何与计算机主机交换信息的一种技术。
它利用高速共享设备将低速的独享设备模拟为高速的共享设备。
逻辑上,系统为每一个用户都分配了一台独立的高速独享设备。
在Spooling系统中,用一道程序模拟脱机输入时的外围控制机功能,把低速输入设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时的外围控制机功能,把数据从磁盘传送到低速输出设备上。