问题 问答题

假设有4个记录A、B、C、D存放在磁盘的某个磁道上,该磁道被划分为4块,每块存放一个记录,安排如表5-2所示:

表5-2 4个记录存放位置表

块号 1 2 3 4
记录号 A B C D
现在要顺序处理这些记录,如果磁盘旋转速度为20ms一周,处理程序每读一个记录后5ms处理完成。试问处理完这4个记录的总时间是多少为了缩短处理时间应进行优化分布,试问应如何安排这些记录,并计算处理的总时间。

答案

参考答案:根据题意,记录是顺序处理的,即A→B→C→D,4个记录刚好占用一个磁道,因此读一个记录的时间为:20ms/4=5ms。读完记录A后还需要处理5ms,因此在读第2个记录B时,磁头已经移动到了第3个记录C处,因此需要等磁盘再次旋转一周,才能读记录B。这样4个记录处理完的总时间是:10ms(移动到记录A的平均时间)+5ms(读记录A)+5ms(处理记录A)+3×[15ms(服务下一记录)+5ms(读记录)+5ms(处理记录)]=95ms。
由于读第1个记录并处理完成后,磁头移动到了第3个记录开始处,所以可将记录的排列优化为1、3、2、4,这样安排后,4个记录处理完的总时间是:[10ms(移动到记录A的平均时间)+5ms(读记录A)+5ms(处理记录A)]+[5ms(读记录B)+5ms(处理记录B)]+[5ms(空转)+5ms(读记录C)+5ms(处理记录C)]+[5ms(读记录D)+5ms(处理记录D)]=55ms。

选择题
单项选择题