读取一个k字节块的时间(以毫秒为单位)

时间:2013-06-15 06:36:16

标签: operating-system filesystems hard-drive

以下是Andrew S. Tanenbaum撰写的“操作系统设计与实现”一书中的问题和答案。

 As an example, consider a disk with 131,072 bytes/track, a rotation time of 8.33 msec, and an
average seek time of 10 msec. The time in milliseconds to read a block of k bytes is then the sum
of the seek, rotational delay, and transfer times:

10 + 4.165 + (k / 131072)x 8.33

现在,如果每个轨道有131,072个字节,则要为该块读取k / 131,072个轨道。更改轨道是否涉及旋转延迟?为什么我们将它乘以8.33?

旋转时间的实际含义是什么?

4.165来自哪里?

这是我用来拍摄曲目的图像。

enter image description here

1 个答案:

答案 0 :(得分:2)

4.165 ms是中途走的时间(8.33 ms / 2)。由于磁盘可以在您需要启动的地方正确旋转,或者尽可能远离您需要启动的位置,因此您可以分割差异。

你乘以8.33毫秒,因为这是一次四处走动所需的时间。这就是“轮换时间。”

k / 131072是您以k个字节为单位的旋转次数。

在平均寻道时间(10 ms)中考虑更改曲目。

编辑:将我对搜索时间和轮换时间的解释移出评论。)

我将与唱机进行类比(希望我没有在这里展示我的年龄)。

寻道时间是读/写头移动到指定轨道所需的时间。在录音机上,这是你将针移动到你最喜欢的歌曲所需的时间。

旋转时间是磁盘旋转一次所需的时间。旋转时间为8.33 ms意味着磁盘每秒传输120次(1 / 0.00833)。在录音机上,这将是33 1/3 RPM(对于LP),或者是单个45 RPM。