I/O设备
练习
- 某计算机系统输入/输出采用双缓冲工作方式,其工作过程如下图所示,假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间R为10us,缓冲区送用户区的 时间M为6us,系统对每个磁盘块数据处理时间C为2us。若用户需要将大小为10个磁盘块的Docl文件逐块从磁盘读入缓冲区,并送用户区进行处理,那么采用 双缓冲需要花费的时间为( )us,比使用单缓冲节约了( )us时间。

单缓冲区:第一块数据送入缓冲区 -> 缓冲区送入用户区 -> 硬盘处理数据,此时缓冲区是空的,第二块被读入缓冲区。即读入缓冲区和处理数据是并行的
js
const R = 10
const M = 6
const C = 2
// 周期
const cycle = Math.max(R, C) + M
const totalTime = R + C + M + (10 - 1) * cycle
// output: 162us双缓冲区: 第一块数据送入缓冲区 -> 缓冲区送入用户区 -> 硬盘处理数据 第二块数据送入缓冲区 -> 缓冲区送入用户区 -> 硬盘处理数据
假如磁盘的读取输入时间大于处理时间,那么可以认为磁盘是在连续处理数据
js
const R = 10
const M = 6
const C = 2
// 周期
const cycle = Math.max(R, C) + M
const totalTime = R + C + M + (10 - 1) * cycle
