某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析,假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读入缓冲区的时间为100ms,将缓冲区的数据传送到用户区的时间是50ms,CPU对一块数据进行分析的时间为50ms。在单缓冲区和双缓冲区结构下,读入并分析完该文件的时间分别是()。
1500ms、1000ms
1550ms、1100ms
1550ms、1550ms
2000ms、2000ms
在单缓冲区中,当上一个磁盘块从缓冲区读入用户区完成时,下一磁盘块才能开始读入,也就是当最后一块磁盘块读入用户区完毕时所用时间为150×10=1500ms,加上处理最后一个磁盘块的时间50ms,得1550ms。双缓冲区中,不存在等待磁盘块从缓冲区读入用户区的问题,10个磁盘块可以连续从外存读入主存缓冲区,加上将最后一个磁盘块从缓冲区送到用户区的传输时间50ms以及处理时间50ms,也就是100×10+50+50=1100ms。
单缓冲区总时间=(磁盘写入缓冲区时间 + 缓冲区读出时间) × 磁盘块数 + CPU处理最后一块的时间
双缓冲区总时间=磁盘写入缓冲区时间 × 磁盘块数 + 读出最后一块数据时间 + CPU处理最后一块的时间
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
在单缓冲区中,当上一个磁盘块从缓冲区读入用户区完成时,下一磁盘块才能开始读入,也就是当最后一块磁盘块读入用户区完毕时所用时间为150×10=1500ms,加上处理最后一个磁盘块的时间50ms,得1550ms。双缓冲区中,不存在等待磁盘块从缓冲区读入用户区的问题,10个磁盘块可以连续从外存读入主存缓冲区,加上将最后一个磁盘块从缓冲区送到用户区的传输时间50ms以及处理时间50ms,也就是100×10+50+50=1100ms。