【答案解析】因为系统使用的是单缓冲区,且顺序处理9个记录,每个记录处理时间为3ms,加上读写时间,总的时间就超过3ms了。而磁盘旋转一圈的时间为27ms,也就是说,当系统读取第0个记录后,正在处理的过程中,磁盘已经旋过了第1个记录。那么,要读取第1个记录,就需要磁盘再次旋转到第1个记录(即磁盘旋转1圈后,27+3=30ms)。同理,要读取第2个记录时,也需要等30ms。这样,要读取后面8个记录,需要8×30=240ms,同时加上处理第0个记录的时间(3ms)和处理第8个记录的时间(3ms),共需246ms。
要想节约时间,可以把记录错开存放,如表所示。
记录安排表
|
|
物理块
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
|
逻辑记录
|
R
0
|
R
5
|
R
1
|
R
6
|
R
2
|
R
7
|
R
3
|
R
8
|
R
4
|
这样,就可以在磁盘旋转两圈内完成所有记录的处理,时间为54ms。要注意的是,最后处理的记录R
8
不是最后一个磁盘块,所以不需要旋转到最后一个物理块。也就是说,第2圈的旋转时间只需要24ms就到达R
8
了。但是,因为要加上R
8
的处理时间3ms,所以总时间仍然为54ms。