刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
单选题
假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为 16us, 由缓冲区送至用户区的时间是 5us,在用户区内系统对每块数据的处理时间为 1us.若用户需要将大小为 10 个磁盘 块的 Doc1 文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间为()us: 采用双缓冲区需要花费的时间为,(请作答此空 )us.
A
B
C
D
使用微信搜索喵呜刷题,轻松应对考试!
答案:
解析:
对于单缓冲区的情况,由于需要从磁盘逐块读入缓冲区,并送至用户区进行处理,所以总时间包括磁盘读入缓冲区的时间、缓冲区送至用户区的时间以及用户区处理每块数据的时间。具体计算为:(磁盘写入缓冲区时间+缓冲区读出时间)×10个磁盘块+CPU处理最后一块数据的时间=(16us+5us)×10+1us=211us。
对于双缓冲区的情况,当第一个缓冲区写满后,磁盘可以紧接着写另一个缓冲区,同时前一个缓冲区被读出到用户区并进行CPU的数据分析。由于读出操作和数据分析必须互斥进行,所以总时间为:(磁盘写入缓冲区时间)×10个磁盘块+读出最后一块数据的时间+CPU分析最后一块数据的时间=(16us)×10+5us+1us=166us。
创作类型:
原创
本文链接:假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为 16us, 由缓冲区送至用户区的时间是 5u
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!



