【正确答案】(1)由题目所给条件可知,磁盘转速为27ms/转,因此读出1个记录的时间是27ms/9=3ms。读出并处理记录A需要:3ms+2ms=5ms,此时读写头已转到了记录B的中间,因此为了读出记录B,必须再转将近一圈(从记录B的中间到记录B,需要25ms)。后续7个记录的读取及处理与此相同,但最后一个记录的读取与处理只需5ms,于是处理9个记录的总时间为8×(25+3+2)ms+(3+2)ms=245ms。这里将旋转一周的时间算在了前一个读取单元中,即“读取A,旋转”看做一个单元,因此前8个的处理时间为30ms,最后一个为5ms。如果将旋转算在后一个读取单元,则处理A为5ms,后面8个为30ms,结果相同。
(2)由于读出并处理一个记录需要5ms,当读出并处理记录A时,不妨设记录A放在第1个盘块中,读写头已移动到第2个盘块的中间,为了能顺序读到记录B,应将它放到第3个盘块中,即应将记录按如下顺序存放,见下表。
记录存放顺序
| 盘块 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
| 记录 |
A |
F |
B |
G |
C |
H |
D |
I |
E |
这样,处理一个记录并将磁头移动到下一记录的时间为3ms+2ms+1ms=6ms。所以,处理9个记录的总时间为6×8ms+5ms=53ms。