对于下面这一题,分析起来很简单:
答案:C
以上是单缓冲区,补充双缓冲区是什么情况:
1.假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为15us,由缓冲区送至用户区的时间是5us,在用户区内系统对每块数据的处理时间为1us,若用户需要将大小为10个磁盘块的Doc1文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间为 ( )us;采用双缓冲区需要花费的时间为 ()us。
A.150 B.151 C.156 D.201
A.150 B.151 C.156 D.201
答案:D,C
由于用户的处理过程,与用户的输入,传送过程是分开的,也就是说当数据在输入,传送的过程中,工作区可以处理前一个数据。两者互不影响,就像流水线一样,所以采用流水线计算方式。
对于单缓冲区:
①使用缓冲区:15+5
②处理:1us
(15+5+1)+20([输入+传送时间]=最长段)*(10-1)=201us
对于双缓冲区:
两个缓冲区是提供两种选择,不能同时向缓冲区1和缓冲区2输入数据。但是我们可以同一时刻对缓冲区1进行输入,对缓冲区2进行输出,形成两个并行的通路。这里分为了三段:
①使用缓冲区1:15us
②使用缓冲区2:15us
③处理:1us
(15+5+1)+15(最长段)*(10-1)=156us