【问题标题】:SCAN and LOOK disk schedulingSCAN 和 LOOK 磁盘调度
【发布时间】:2012-06-20 18:22:48
【问题描述】:

假设磁盘是空闲的,但有一个读头在空闲之前的方向。 (假设读头在第 5 扇区,之前读过第 1 扇区,但现在没有请求。) 当一个请求来的时候,读头会继续往它之前的方向前进,还是可以选择另一个方向? (假设请求来自第 4 扇区,在示例中,它是否必须继续正向,还是可以立即开始反转?) LOOK 会简单地返回,但 SCAN 是否应该一直走到最后?

另外,假设我正在向外(从 1 到 100)前进,并且我正在前往第 90 扇区,但在我到达那里之前出现另一个请求,它位于 mi 当前位置和第 90 扇区之间,我是否阅读了那个然后前往90,还是我继续到 90 然后返回?

【问题讨论】:

  • 真的很难弄清楚你在问什么。
  • Hunter,你不明白这个问题,还是觉得很难找到答案?

标签: algorithm scheduling disk


【解决方案1】:

对于您的第一个场景(您没有待处理的 I/O,磁盘位于第 5 柱面)向外移动并且对第 4 柱面的请求来了:

  • 使用 SCAN 时,磁盘的磁头仍需要转到最后一个柱面,然后返回到第 4 柱面
  • 使用 LOOK,因为没有更多请求,它可以将方向反向到气缸 4 的服务请求

在您的第二种情况下(您正朝 90 号气缸前进,但在您到达那里之前,您的当前位置和 90 号气缸之间会出现另一个请求):

在这种情况下,使用 SCAN 或 LOOK,您将处理位于当前头部位置下方的所有等待服务的请求。因此,在您的示例中,它会先处理第二个请求,然后再处理第 90 缸的请求。

【讨论】:

  • 好的,第二部分。基本上第一部分是如果在 SCAN 中磁盘在没有请求时继续转动,或者在出现新请求之前停止
  • @Grulli:这不是规定的。通常磁盘在停止磁头之前会保持旋转一段时间,因此从那时起,它取决于具体的实现。无论如何,当您研究磁盘调度时,您通常会假设有一堆请求待处理。
猜你喜欢
  • 1970-01-01
  • 2012-11-07
  • 2011-10-12
  • 2022-01-17
  • 2017-09-18
  • 2013-06-15
  • 2019-11-03
  • 2014-10-27
  • 2019-01-26
相关资源
最近更新 更多