0 思维导图
一 IO设备定义
(一) 定义
I/O 就是输入输出
I/O设备就是可以将数据输入到计算机,或者接收计算机输出数据的外部设备,属于计算机的硬件
(二) 分类
1.按使用特性分类:
-
人机交互类外部设备:用于同计算机用户之间交互的设备,如打印机、显示器、鼠标、键盘等。这类设备数据交换速度相对较慢,通常是以字节为单位进行数据交换。
-
存储设备:用于存储程序和数据的设备,如磁盘、磁带、光盘等。这类设备用于数据交换,速度较快,通常以多字节组成的块为单位进行数据交换。
-
网络通信设备:用于与远程设备通信的设备,如各种网络接口、调制解调器等。其速度介于前两类设备之间。网络通信设备在使用和管理上与前两类设备也有很大不同。
2 . 按传输速率分类:
- 低速设备:传输速率仅为每秒几个到数百个字节的一类设备,如键盘、鼠标等。
- 中速设备:传输速率在每秒数千个字节至数万个字节的一类设备,如行式打印机、 激光打印机等。
- 高速设备:传输速率在数百个千字节至千兆字节的一类设备,如磁带机、磁盘机、 光盘机等。
- 按信息交换的单位分类:
- 块设备:由于信息的存取总是以数据块为单位,所以存储信息的设备称为块设备。它属于有结构设备,如磁盘等。磁盘设备的基本特征是传输速率较高,以及可寻址,即对它可随机地读/写任一块。
- 字符设备:用于数据输入/输出的设备为字符设备,因为其传输的基本单位是字符。它属于无结构类型,如交互式终端机、打印机等。它们的基本特征是传输速率低、不可寻址,并且在输入/输出时常釆用中断驱动方式。
二 I/O 控制器
I/O设备的组成:
- 机械部件 (主要执行具体的IO操作,如鼠标/键盘)
- 电子部件 (作为CPU与设备之间的中介)
因为CPU无法直接操作I/O设备,所以需要一个电子部件作为两者之间的中介,CPU通过操作电子部件间接操控IO设备
这个电子部件就称作 I/O控制器
I/O控制器的功能:
I/O控制器的组成:
三 OS 控制 I/O 设备的方式
I/O 控制方式 指的是用什么样的方式来控制I/O设备的数据读/写
可用以下几个方式进行对比
- 读写流程
- CPU 干预的频率
- 数据传输单位
- 数据的流向
- 优缺点
(一) 程序直接控制方式
1.读写流程:
2.CPU 干预的频率:
I/O开始前后需要CPU介入,且在等待I/O过程中CPU需要不断的轮询检查状态
3.数据传输单位
一个字节
4.数据的流向
读操作: I/O设备->CPU寄存器->内存
写操作:内存->CPU寄存器->IO设备
5.优缺点
优点: 简单高效
缺点:
因为CPU高速和IO设备的低速,导致CPU一直在轮询,处于忙等状态,CPU利用率低
(二) 中断驱动方式
1.读写流程:
由于I/O设备速度很慢,因此在CPU发出I/O命令后,可将当前进程阻塞,加入该IO设备的等待队列中,让出CPU的使用权.当I/O完成后,向CPU发送中断信号,CPU检测到该信号后,进行中断处理
处理中断过程中,CPU从I/O寄存器读取数据到CPU寄存器,再将数据写入主存.
最后,恢复被阻塞的继承,继续执行程序
2.CPU 干预的频率:
I/O开始前后需要CPU介入,等待过程可切到换别的进程
3.数据传输单位
一个字节
4.数据的流向
读操作: I/O设备->CPU寄存器->内存
写操作:内存->CPU寄存器->IO设备
5.优缺点
优点: CPU不再忙等,提高了CPU的利用率
缺点:
数据的传输仍然需要通过CPU这个中介,频繁的中断处理会消耗较多的CPU时间
(三)DMA方式
1.与中断驱动方式相比,DMA(direct momery access ,直接存储器存储),主要有以下的改进:
- 数据传输单位改为’块’
- 数据无需通过CPU,直接从设备到内存
- CPU只在传输一个或多个块的开始或结束时才需干预
2.DMA控制器
3.缺点:
CPU一条指令,只能读写 一个或多个连续的数据块,
若需要离散存储的数据库,则需要发出多条CPU指令
(四) 通道控制方式
通道控制方式是为了解决DMA方式连续存储的问题
1.读写流程:
也即,CPU给出一些I/O指令, 保存到任务清单中,通道一个个完成
2.CPU干预频率:极低,只需给出任务,接收中断请求
3.单位:一组数据块
4.可以把通道理解为’CPU的代理/小型CPU’
四 I/O 子系统的层次结构
为了使复杂的I/O软件具有清晰的,可移植的结构,在I/O软件中普遍采用了层次式的结构
上层的结构只是调用下层的结构,具体的实现只由下层实现