刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为 16us, 由缓冲区送至用户区的时间是 5us,在用户区内系统对每块数据的处理时间为 1us.若用户需要将大小为 10 个磁盘 块的 Doc1 文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间为()us: 采用双缓冲区需要花费的时间为,(请作答此空 )us.

A
160
B
161
C
166
D
211
使用微信搜索喵呜刷题,轻松应对考试!

答案:

C

解析:

对于单缓冲区的情况,由于需要从磁盘逐块读入缓冲区,并送至用户区进行处理,所以总时间包括磁盘读入缓冲区的时间、缓冲区送至用户区的时间以及用户区处理每块数据的时间。具体计算为:(磁盘写入缓冲区时间+缓冲区读出时间)×10个磁盘块+CPU处理最后一块数据的时间=(16us+5us)×10+1us=211us。

对于双缓冲区的情况,当第一个缓冲区写满后,磁盘可以紧接着写另一个缓冲区,同时前一个缓冲区被读出到用户区并进行CPU的数据分析。由于读出操作和数据分析必须互斥进行,所以总时间为:(磁盘写入缓冲区时间)×10个磁盘块+读出最后一块数据的时间+CPU分析最后一块数据的时间=(16us)×10+5us+1us=166us。

创作类型:
原创

本文链接:假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为 16us, 由缓冲区送至用户区的时间是 5u

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share