我在许多书籍和论文中读到,考虑到磁盘性能,平均寻道时间大约是完整寻道时间的三分之一,但没有人真正对此提供任何解释。这是从哪里来的?
平均值是使用微积分进行数学计算的。 我们使用非常基本的公式来计算平均值。
平均寻道时间=(所有可能寻道时间的总和)/(可能寻道时间总数)
假设磁盘有 N 个磁道,因此这些磁道的编号为 1...N 任意时间点头部的位置可以是 0 到 N(含)之间的任何值。 假设磁盘磁头的初始位置位于磁道“x”,磁头的最终位置位于磁道“y”,因此 x 可以从 0 变化到 N,y 也可以从 0 变化到N.
在与我们定义平均寻道时间类似的线上,我们可以说,
平均寻道距离=(所有可能寻道距离之和)/(可能寻道距离总数)
根据 x 和 y 的定义, 总数可能的搜索距离 = N*N 和 所有可能的搜索距离之和 = SIGMA(x=0,N) SIGMA(y=0,N) |x-y| = 积分(x=0,N)积分(y=0,N) |x-y| dy dx
要解决此问题,请使用将 y = 0 到 x 以及 y = x 到 N 的表达式模数分裂的技术。然后求解 x = 0 到 N。
结果为 (N^3)/3。
平均寻道距离 = (N^3)/3*N*N = N/3
平均寻道时间=平均寻道距离/寻道率
如果从位置 0 到磁道 N 的寻道时间需要“t”秒,则寻道率 = N/t
因此,平均寻道时间 = (N/3)/(N/t) = t/3
参考:
http://pages.cs.wisc.edu/~remzi/OSFEP/file-disks.pdf 第9页对此给出了很好的答案。
我非常不同意这种分析。您不能使用积分来减少离散数的总和。作为反例,考虑具有 3 个磁道的磁盘。如果位于磁道 0 上,平均寻道时间为 1(假设计算平均值时采用均匀分布)。如果您处于轨道 1,则平均值为 2/3。轨道 3 同样为 1。将所有轨道的总和除以 3 将得到 8/9,小于轨道数量的 1/3。如果您尝试 4 首曲目,则平均值为 1.25 (4/3 = 1.33)。不准确是由于使用积分计算曲线下的面积而不是计算离散值的总和。