假设磁盘上每个磁道划分成9个物理块,每块存放1个逻辑记录。逻辑记录R0,R1,…,R8存放在同一个磁道上,记录的安排顺序如表1-7所示。
表1—7记录的安排顺序 | |||||||||
物理块 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
逻辑记录 | R0 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 |
A.30ms
B.36ms
C.54ms
D.60ms
参考答案:C
解析:因为系统使用的是单缓冲区,且顺序处理9个记录,每个记录处理时间为3ms,加上读写时间,总的时间就超过3ms了。而磁盘旋转一圈的时间为27ms,也就是说,当系统读取第0个记录后,正在处理的过程中,磁盘已经旋过了第1个记录。那么,要读取第1个记录,就需要磁盘再次旋转到第1个记录(即磁盘旋转1圈后,27+3=30ms)。同理,要读取第2个记录时,也需要等30ms。这样,要读取后面8个记录,需要8×30=240ms,同时加上处理第0个记录的时间(3ms)和处理第8个记录的时间(3ms),共需246ms。
要想节约时间,可以把记录错开存放,如表1—8所示。
表1-8错开存放的记录 | |||||||||
物理块 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
逻辑记录 | R0 | R5 | R1 | R6 | R2 | R7 | R3 | R8 | R4 |