详细请前往:https://www.bilibili.com/video/BV1YE411D7nH?p=63
操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统是计算机学生必修课程之一,也是计算机考研的必考项,因此,掌握好操作系统对于工作以及日后考研学习都十分重要。
目录
七、输入输出管理
7.1 I/O设备的概念和分类
I/O设备又称输入/输出设备
I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出的外部设备,属于计算机中的硬件部件。
I/O设备的分类:
- 块设备:如硬盘等——数据传输的基本单位是“块”
- 传输速率较高,可寻址,即对他可随机读/写任一块
- 字符设备:鼠标、键盘等——数据传输的基本单位是字符
- 传输速率较慢,不可寻址,在输入/输出时采用中断驱动方式
7.2 I/O控制器
CPU无法直接控制I/O设备,因此I/O设备(I/O设备的电子部分)还要有一个电子部件作为CPU和I/O设备机械部件之间的“中介”,用于实现CPU对设备的控制
这个部件就是I/O控制器,又称设备控制器,CPU可控制I/O控制器,又由I/O控制器来控制设备的机械部件。
I/O控制器的组成:
- CPU与控制器之间的接口(实现控制器与CPU之间的通信)
- I/O逻辑(负责识别CPU发出的命令,并向设备发出命令)
- 控制器与设备之间的接口(实现控制器与设备之间的通信)
I/O控制器的功能:
- 接受和识别CPU发出的信号
- 如CPU发来的read/write命令,I/O控制器中会有相应的控制寄存器来存放命令和参数
- 向CPU报告设备的状态
- I/O控制器中会有相应的状态寄存器,用于记录I/O设备的当前状态。如:1表示空闲,0表示忙碌
- 数据交换
- I/O控制器中会设置相应的数据寄存器,输出时,数据寄存器用于暂存CPU发来的数据,之后再由控制器传送设备。输入时,数据寄存器用于暂存设备发来的数据,之后CPU从数据寄存器中取走数据
- 地址识别
- 类似于内存的地址,为了区分设备控制器中的各个寄存器,也需要给各个寄存器设置一个特定的“地址”,I/O控制器通过CPU提供的地址来判断CPU要读/写的是哪一个寄存器。
- 类似于内存的地址,为了区分设备控制器中的各个寄存器,也需要给各个寄存器设置一个特定的“地址”,I/O控制器通过CPU提供的地址来判断CPU要读/写的是哪一个寄存器。
注意:
- 一个I/O控制器可能对应多个设备
- 数据寄存器、控制寄存器、状态寄存器可能有多个(如:每个控制/寄存器对应一个具体的设备),且这些寄存器都要有相应的地址,才能方便CPU的操作。有的计算机会让这些寄存器占用内存地址的一部分,称为内存映像I/O,另一些计算机则采用I/O专用地址,即为寄存器独立编址。
7.3 I/O控制方式
I/O控制方式:用什么方式来控制I/O设备的数据读/写
- 程序直接控制方式
- 中断驱动方式
- DMA方式
- 通道通信方式
7.3.1 程序直接控制方式
关键词:轮询
就像老板(CPU)要确认员工(I/O设备)有没有完成任务一样,通过不断询问:你完成任务了吗?来确认员工的完成情况。
以读操作为例:
- CPU干预频率
- 很频繁,I/O操作开始之前、完成之后都需要CPU的介入,并且在等待I/O完成的过程中CPU需要不断的轮询检查。
- 数据传送的单位
- 每次读/写一个字
- 数据的流向
- 读操作(数据输入):I/O设备-》CPU(寄存器)-》内存
- 写操作(数据输出):内存-》CPU(寄存器)-》I/O设备
- 每个字的读/写都需要CPU的帮助
- 优点
- 实现简单。在读/写指令之后,加上循环检查的一系列指令即可。(因此称为程序直接控制方式)
- 缺点
- CPU和I/O设备只能串行工作,CPU需要一直轮询检查,长期处于“忙等”状态,CPU利用率低。
7.3.2 中断驱动方式
引人中断机制。由于I/O设备速度