有一台磁盘机, 其平均寻道时间为 30ms, 平均等待时间为 10ms, 数据传输率为 500Byte/ms, 磁盘机中随机存放着 1000 块, 每块为 3000Byte 的数据。 现欲把一块块数据取走, 更新后再放回原地。 假设一次取出或写入所需时间为: 平均寻道时间+平均等待时间+数据传输时间。 另外, 使用 CPU 更新信息所需时间为 4ms, 并且更新时间同输入输出操作不相重叠。 试问:
更新磁盘上的全部数据需多少时间?
由于数据块是随机存放的, 所以每取出或写入一块均要定位。
数据传输时间=3000Byte+500Byte/ms=6ms。
更新全部数据所需时间=2* 1000*(平均寻道时间+平均等待时间+数据传输时间) +1000* CPU 更新信息时间=2*1000* (30+10+6) +1000*4=96000ms=96s。
若磁盘机旋转速度和数据传输率都提高一倍, 更新全部数据需要多少时间?
磁盘机旋转速度提高一倍后, 平均等待时间为 5ms。
数据传输率提高一倍为 1000Byte/ms, 数据传输时间变为 3000+1000Byte/ms=3ms。 更新全部数据所需时间=2* 1000* (30+5+3) +1000*4=80000ms=80s。