2

以下是 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 是从哪里来的?

这是我用来描绘轨道的图像。

在此处输入图像描述

4

1 回答 1

3

4.165 毫秒是半途而废所需的时间 (8.33 毫秒 / 2)。由于磁盘可以准确地旋转到您需要开始的位置,或者尽可能远离您需要开始的位置,因此您可以分割差异。

您乘以 8.33 毫秒,因为这是绕一圈所需的时间。这就是“轮换时间”。

k / 131072 是您为拉入 k 字节而进行的旋转次数。

在平均寻道时间(10 毫秒)中考虑了更改磁道。

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

我会用唱机做一个类比(希望我没有在这里显示我的年龄)。

寻道时间是读/写磁头移动到指定磁道所用的时间。在电唱机上,这是您将指针移到您最喜欢的歌曲所需的时间。

旋转时间是磁盘旋转一次所需的时间。8.33 ms 的旋转时间意味着磁盘每秒运行大约 120 次 (1 / 0.00833)。在电唱机上,这将是 33 1/3 RPM(对于 LP),或 45 RPM 对于单曲。

于 2013-06-15T06:43:15.040 回答