问答题 假定磁盘的旋转速度为每圈10ms,格式化时每个磁道被分成10个扇区。现在10个逻辑记录存放在同一磁道上,其排列顺序如下表所示。 扇区号 1 2 3 4 5 6 7 8 9 10 逻辑记录 A B C D E F G H I J 处理程序要顺序处理这些记录,每读出一个记录要花费2ms的时间进行处理,然后再顺序读下一个记录并进行处理,直到处理完这些记录,请回答: (1)顺序处理完这10个记录总花费了多少时间? (2)请给出一种记录优化分布方案.使处理程序能在最短的时间内处理完成这10个记录,并计算优化时间。
【正确答案】(1)磁盘旋转的速度为10ms/转,每道存放10个记录,因此读出1个记录的时间是:10/10=1ms
根据图上所示的记录分布情况,读出并处理记录A需要1+2=3ms,此时读写头已转到了记录D的开始处,因此为了读出记录B,必须再转过8个记录(从记录D到记录B)。后续8个记录的读取及处理与此相同,但最后一个记录的读取与处理只需6ms。于是,处理10个记录的总时间为9*(1+2+8)+(1+2)=102ms
(2)优化分布后,最好读出并处理记录A后,读写头刚好转到记录B的开始处,立即就可读出并处理记录B。依次类推。所以优化后信息分布情况为
物理块
1
2
3
4
5
6
7
8
9
10
逻辑记录
A
H
E
B
I
F
C
J
G
D
所以处理10个记录的总时间为10*(1+2)=30ms
【答案解析】