您的位置:首页 > 其它

双缓冲区

2016-05-05 15:26 148 查看
【2011年计算机统考真题】某文件占用10个磁盘块,现在要把该文件磁盘块逐个读入主缓冲区,并送用户区进行分析。假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读入缓冲区的时间为100μs,将缓冲区的数据传送到用户区的时间是50μs,CPU对一块数据进行分析的时间为50μs。在单缓冲区和双缓冲区结构下,读入并分析完该文件的时间分别是()。

1500μs,1000μs
1550μs,1100μs
1550μs,1550μs
2000μs,2000μs

单缓冲区下,当上一个磁盘块从缓冲区读入用户区完成时下一磁盘块才能开始读入,所以当最后一块磁盘块读入用户区完毕时,所用时间为150×10=1500,加上处理最后一个磁盘块的cpu处理时间50为1550.双缓冲区下,读入第一个缓冲区之后可以立刻开始读入第二个缓冲区,读完第二个缓冲区之后,第一个缓冲区的数据已经传送到用户区,因此不存在等待磁盘块从缓冲区读入用户区的问题,也就是100×10=1100,再加上最后一个缓冲区的数据传输到用户区并有CPU处理的时间50+50=100,总的时间是1000+100=1100。

按题目所讲,每个数据要经过3个处理步骤:读入缓冲区、送用户区、分析处理。
这3个步骤中,有2个步骤是要用到缓冲区的,这2个步骤执行时,缓冲区都不可以执行下一个磁盘区的处理工作。所以3个步骤可以合并为2个步骤:读入缓冲区并送用户区、分析处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: