问题
问答题
假设有8个记录A、B、C、D、E、F、G、H存放在磁盘里,每个磁道有8个扇区,正好可以存放8个记录。假设磁盘旋转速度为20ms/r,处理程序每读出一个记录后,用2ms的时间进行处理,请问:
当记录A、B、C、D、E、F、G、H按顺序放在磁道上时,顺序处理这5个记录花费的总时间是多少(假设启动时的位置正好在A扇区的起点。)
答案
参考答案:磁盘旋转速度是20ms/r,共分成8个扇区,因此,每个扇区所花费的读写时间为20ms/8=2.5ms。若按顺序编号,每读出一个扇区后用2ms的时间进行处理,此时,磁盘仍在转动,处理完A扇区后,磁头已经过了大部分的B扇区,即将到达C扇区,因此,要等磁盘再转一圈后才可读扇区B,见图(a),依此类推,顺序处理8个扇区的时间花费是(其中H是最后一个,因此,处理有别于其他扇区):
A~G扇区读取时间:2.5ms;A~G扇区处理时间:2ms
等待下一个扇区到达时间:20ms-2ms=18ms
H扇区读取时间:2.5ms;H扇区处理时间:2ms
总消耗时间为:(2.5ms+2ms+18ms)×7+2.5ms+2ms=162ms