广义的IO设备
对cpu而言,凡是对cpu进行数据输入的都是输入设备。
对cpu而言,凡是对cpu进行数据输出的都是输出设备。
按照使用特性进行分类
存储设备:U盘,内存,磁盘
交互IO设备:键盘,鼠标,显示器
按信息交换的单位进行分类
块设备:磁盘,SD卡
字符设备:打印机,shell终端
按设备的共享属性进行分类:独占设备,共享设备,虚拟设备
按照传输速率进行分类:低速设备,中速设备,高速设备
IO设备的缓冲区
缓冲区可以减少cpu处理IO设备请求的频率,还可以提高cpu与IO设备之间的并行性。
专用缓冲区只属于特定的IO进程,当这样的IO进程很多的时候,对内存的消耗会很大,所以操作系统画出了可供多个进程使用的公共缓冲区,称之为缓冲池。
缓冲池中存在着多个缓冲区,有IO进程需要缓冲池的时候,就从缓冲池中拿一个出来用。
SPOOLing技术
这是一种关于慢速的设备怎样与计算机主机交换信息的技术。
这个技术可以利用高速共享设备将低速的独享设备模拟成高速的共享设备,就相当于系统为每一个用户都分配了一台独立的高速独享设备。是一种虚拟设备技术。
说白了就是SPOOLing将所有用到打印机的进程全部存放在一起,再由SPOOLing统一管理,就相当于将打印机共享了。