如果磁盘的每个磁道分成9个块,现有一文件有A、B、…、I共9个记录,每个记录的大小与块的大小相等,若磁盘转速为6000RPM,每读出一块后需要2.5ms的处理时间。若忽略其他辅助时间,且一开始磁头在即将要读A记录的位置,试问: 若要求顺序读出的时间最短,

admin2018-07-17  24

问题 如果磁盘的每个磁道分成9个块,现有一文件有A、B、…、I共9个记录,每个记录的大小与块的大小相等,若磁盘转速为6000RPM,每读出一块后需要2.5ms的处理时间。若忽略其他辅助时间,且一开始磁头在即将要读A记录的位置,试问:
若要求顺序读出的时间最短,则应该如何安排文件的存放位置。

选项

答案在上一小题中,由于额外的旋转时间导致了读取记录的时间较长,为了减少额外的旋转时间,可以对记录块的存放顺序作修改,考虑到每读取一个记录后需2.5ms的数据处理时间,磁盘旋转3块所需的时间是3.33ms,因此可以每间隔3块存放相应的记录块,即l存放A、5存放B、9存放C、4存放D、8存放E、3存放F、7存放G、2存放H、6存放I,如下图所示。 [*] 此时,读出整个文件需要的时间为(4×10/9)×8+1.11+2.5=39.17ms。 注意:这里也可以按照上问中给的第二种方法,从开始读A到最后读完I一共转了3+6/9=11/3圈,再加上最后处理的2.5ms,所以最后的时间为11/3×10+2.5=39.17ms

解析
转载请注明原文地址:https://kaotiyun.com/show/E8Ri777K
0

最新回复(0)