【从零开始学习计算机科学】操作系统(八)IO管理
- IO管理
- IO设备
- IO设备的分类
- IO控制器
- 设备控制器的IO端口编址
- 设备数据传输控制方法
- 缓冲技术
- 缓冲区的分类
- 常用的缓冲技术
- 虚拟设备
- IO设备的分配
- IO相关的软件的设计
IO管理
IO设备
IO设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机的硬件部件。
日常生活中,最典型的IO设备就是如下几种:键盘,字符输入设备(input);显示器,输出设备(output);移动硬盘,既可以输入又可以输出的设备。
IO设备的分类
-
按使用特性分类:人机交互类设备(数据传输速度慢),存储设备(数据传输速度快),网络通信设备(数据传输速度介于上述两者之间)。
-
按照传输速率分类:低速设备(每秒几个到几百字节),中速设备(每秒几千到上万个字节),高速设备(每秒数千到千兆字节)。
-
按信息交换的单位分类:块设备(传输快,可寻址),字符设备(传输慢,不可寻址,常采用中断驱动方式)。
-
按是否可以共享分类:共享设备,独占设备。
IO控制器
CPU无法直接控制IO设备的机械部件,因此IO设备还要有一个电子部件作为CPU和IO设备机械部件之间的中介,用于实现CPU对设备的控制,该电子部件就是IO控制器,又称为设备控制器,CPU控制IO控制器,IO控制器来控制IO的机械设备。
IO控制器的功能主要有:
-
接受和识别CPU发出的指令。IO控制器中有相应的控制寄存器来存放cpu传来的相应的命令和参数。
-
向cpu报告设备状态。IO控制器中有相应的状态寄存器来记录当前IO设备的状态。
-
数据交换。IO控制器中有相应的数据寄存器。输出时,数据寄存器用于暂存CPU发来的数据,之后再由控制器传送设备;输入时,数据寄存器用于暂存设备发来的数据,之后cpu从数据寄存器中取走数据。
-
地址识别。为了区分设备控制器中的各个寄存器,也要给各个寄存器设置一个特定的地址,IO控制器通过CPU提供的地址来判断cpu要读/写哪个寄存器。
-
数据缓冲。
-
差错控制。