Chapter 5. 输入/输出 I/O
管理
公式与性质
-
I/O
端口:设备控制器中可被CPU
直接访问的寄存器。 -
DMA
传送只有开始和结束时才需要CPU
介入,只有结束时才需要中断。 -
缓冲平均处理时间:
- 单缓冲区:Max(处理时间, 输入时间)+传送时间
- 双缓冲区:Max(处理时间 + 传送时间, 输入时间)
- 涉及具体缓冲时间的计算而非平均时间的计算时,老老实实画甘特图,不能套公式。
-
设备分配的步骤
- 分配设备。
- 分配控制器。
- 分配通道。
-
输入井和输出井位于磁盘中,输入缓冲区和输出缓冲区位于内存中。
-
固态硬盘(属于
EEPROM
)以页为单位读/写,但必须擦除一整个块才能对每个块再写一次。
概念
-
字符设备是存储和传输以字符位单位的设备,传输速率低,不可寻址。共享设备必须是可寻址的和可随机访问的设备。
-
为实现
CPU
与外部设备并行工作,必须引入的基础硬件是通道。 -
通道控制控制器,控制器控制设备。
-
引入虚拟设备的目的是通过虚拟设备到物理设备的映射,使得在用户视角有更多的物理设备。
-
I/O
接口又叫设备控制器,连接CPU
和I/O
设备。 -
会直接导致进程阻塞的是 中断和
DMA
,程序直接控制方式不会导师进程阻塞。程序直接控制方式在
I/O
中程序可以一直占用CPU
。 -
数据选择通道通常连接单一高速设备;字节多路通道通常连接大量的低速或中速的设备;数据多路通道通常连接多个高速外设交叉传递信息。
-
寻找设备驱动程序接口函数的任务由设备无关的操作系统软件完成。
设备无关软件负责将逻辑设备与具体设备对应,故需要负责找到具体的设备驱动程序。
考点
-
采用中断屏蔽技术会封锁与中断屏蔽标志相对应的事件的响应。
注意区分中断响应优先级,中断响应优先级一般无法修改,是由硬件决定的,不响应不比自己级别高的中断事件。
-
DMA
过程:CPU
初始化DMA
控制器并启动磁盘。- 从磁盘传输一块数据到内存缓冲区。
DMA
控制器发出中断请求。- 执行"
DMA
结束"中断服务程序。
DMA
开始前不需要中断。 -
需要
CPU
干预最少的方式是I/O
通道控制方式。比
DMA
还少。 -
通道中断中
CPU
的利用效率最高。比
DMA
还高。 -
用户程序发出磁盘
I/O
请求后,系统的处理流程是:用户程序 \longrightarrow 系统调用处理程序 \longrightarrow 设备驱动程序 \longrightarrow 中断处理程序。设备驱动程序在设备准备好后发出中断请求。
-
SPOOLing
:- 预输入程序(输入进程):从外设经过输入缓冲区读到输入井中。
- 输入井读程序:从输入井读到正在执行的作业中。
- 输出井写程序:从正在执行的作业中写到输出井。
- 缓输出程序(输出进程):从输出井经过输出缓冲区写到外设中。
-
分扇区属于低级格式化;分区既不属于低级格式化也不属于逻辑格式化,是在二者其间的一个过程。
-
不会导致磁头臂黏着点是先来先服务
FCFS
。最短寻道时间优先
SSTF
显然会黏着。
循环扫描算法CSCAN
(以及SCAN
、LOOK
、CLOOK
) ,若此时有一个较远的请求,则会优先处理同方向上最近的。