问答题
有一台磁盘机,平均寻道时间为30ms,平均旋转等待时间为120ms,数据传输速率为500B/ms,磁盘机上存放着1000件每件3000B的数据。现欲把一件数据取走,更新后再放回原处。假设一次取出或写入所需时间为:平均寻道时间+平均等待时间+数据传送时间。另外,使用CPU更新信息所需时间为4ms,且更新时间同输入/输出操作不相重叠。试问:
(1)更新磁盘上全部数据需要多少时间?
(2)若磁盘及旋转速度和数据传输率都提高一倍,更新全部数据需要多少时间?
【正确答案】磁盘上总数据量为
1000×3000B=3000000B
读出全部数据所需时间为
3000000B÷500B/ms=6000ms
重新写入全部数据所需时间为6000ms。
所以,更新磁盘上全部数据所需的时间为
2×(平均寻道时间+平均等待时间+数据传送时间)+CPU更新时间
=2×(30+120+6000)ms+4ms=12304ms
(2)磁盘机旋转速度提高一倍后,平均等待时间为60ms;数据传输率提高一倍后,数据传送时间变为
3000000B÷1000B/ms=3000ms
更新全部数据所需时间为
2×(30+60+3000)ms+4ms=6184ms
【答案解析】