我正在学习操作系统磁盘管理算法。有一种称为 C-SCAN 的特定算法,它是 SCAN (or elevator) disk scheduling algorithm 的变体。 。现在在example section of Wikipedia ,有一个计算SCAN vs C-SCAN方法的例子。
在 C-SCAN 的情况下,当磁头从 100 移动到 0 时,我们正在计算 100 的整个寻道时间。但我认为,如果 C-SCAN 被想象为扫描圆柱体,那么为什么我们会将跳跃视为寻求时间?
有一个 another article其中跳跃未计算。那么该怎么办?如果有人用适当的例子回答我的问题,我会很高兴。
最佳答案
算法并不是将“100”视为时间,而是将头部移动的距离。它们引用的数字也是磁道号(逻辑上,从磁盘上方观察时,柱面是彼此上方和下方的所有磁道)。因此,对于给定的示例,轨道 20 和 21 是相邻轨道。
电梯技术非常简单,一旦你开始朝一个方向前进,就继续前进,直到该方向不再有任何请求,然后改变方向并一直向另一个方向前进。把它想象成一本书,你现在在第 20 页(轨道),所以继续前进,直到最后,然后向后阅读这本书。
C-SCAN 类似,只是它不是在最后反转方向,而是回到最低点并重新开始。
这两种变体在高负载下的 I/O 延迟存在细微差别,尽管它们看起来非常接近。
关于algorithm - C-SCAN算法如何计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20447294/