某操作系统采用双缓冲区传送磁盘上的数据。设一次从磁盘将数据传送到缓冲区所用时间为T1,一次将缓冲区中数据传送到用户区所用时间为T2(假设T2远小于T1、T3),CPU处理一次数据所用时间为T3,则处理该数据共重复n次该过程,系统所用总时间为( )。

admin2018-07-17  39

问题 某操作系统采用双缓冲区传送磁盘上的数据。设一次从磁盘将数据传送到缓冲区所用时间为T1,一次将缓冲区中数据传送到用户区所用时间为T2(假设T2远小于T1、T3),CPU处理一次数据所用时间为T3,则处理该数据共重复n次该过程,系统所用总时间为(    )。

选项 A、n×(T1+T2+T3)
B、n×MAX(T2,T3)+T1
C、n×MAX(T1,T3)+T2
D、(n—1)×MAX(T1,T3)+T1+T2+T3

答案D

解析 本题考查磁盘的缓冲区。本题需分情况讨论:如果T3>T1,即CPU处理数据比数据传送慢,磁盘将数据传送到缓冲区,再传送到用户区,除了第一次需要耗费的T1+T2+T3时间,剩余数据可以视为CPU进行连续处理,总共花费(n一1)T3所以系统所用总时间为T1+T2+nT3。如果T3<T1,即CPU处理数据比数据传送快,此时除了第一次可以视为I/O连续输入,磁盘将数据传送到缓冲区,与缓冲区中数据传送到用户区及CPU处理数据,两者可视为并行执行,则花费时间主要取决于磁盘将数据传送到缓冲区所用时间T1,前n一1次总共为(n一1)T1,而最后一次T1时间完成后,还要花时间从缓冲区传送到用户区及CPU还要处理,即还要加上T2+T3的时间,所以总时间为nT1+T2+T3。综上所述,总的时间为(n一1)×MAX(T1,T3)+T1+T2+T3
转载请注明原文地址:https://jikaoti.com/ti/klfjFFFM
0

最新回复(0)