假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区时间为10μs,由缓冲区送至用户区时间是5μs,系统对每个磁盘块数据处理时间为2μs。若用户需要将大小为10个磁盘块Docl文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费时间为( )μs;采用双缓冲区需要花费时间为(请作答此空)μs。
双缓冲工作方式基本方法是在设备输入时,先将数据输入到缓冲区1,装满后便转向缓冲区2。此时系统可以从缓冲区1中提取数据传送到用户区,最后由系统对数据进行处理,如下图(c)所示:

图(c) 双缓冲并行工作过程图
双缓冲可以实现对缓冲区中数据输入T和提取M,与CPU计算C,三者并行工作。所以双缓冲进一步加快了I/O速度,提高了设备利用率。在双缓冲时,系统处理一块数据时间可以粗略地认为是Max(C,T)。如果C小于T,可使块设备连续输入;如果C大于T,则可使系统不必等待设备输入。本题每一块数据处理时间为10,采用双缓冲需要花费时间为10*10+5+2=107,如图(d)所示。










