广义的IO设备
- 对CPU而言,凡是对CPU进行数据输入的都是输入设备
- 对CUP而言,凡是CPU进行数据输出的都是输出设备
按使用特性分类
- 存储设备
U盘,内存,磁盘 - 交互IO设备
鼠标,键盘,显示器
按信息交换的单位分类
- 块设备
磁盘,SD卡 - 字符设备
打印机,Shell终端
按设备的共享属性分类
- 独占设备
- 共享设备
- 虚拟设备
按传输速率分类
- 低速设备
- 中速设备
- 高速设备
IO设备的缓冲区
- CPU与IO设备的速率不匹配
- 减少CPU处理IO请求的频率
- 提高CPU与IO设备之间的并行性
- 专用缓冲区只适用于特定的IO进程
- 当这样的IO进程比较多时,对内存的消耗也很大
- 操作体统划出可供多个进程使用的公共缓冲区,称之为缓冲池
SPOOLing技术
- 虚拟设备技术
- 是关于慢速字符设备如何与计算机主机交换信息的一种技术
- 利用高速共享设备将低速的独享设备模拟为高速的共享设备
- 逻辑上,系统为每一个用户都分配了一台独立的高速独享设备
- SPOOLing技术把同步调用低速设备改为异步调用
- 在输入、输出之间增加了排队转储环节(输入井、输出井)
- SPOOLing负责输入(出)与低速设备之间的调度
- 逻辑上,进程直接与高速设备交互,减少了进程的等待时间