首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SCAN和CSCAN算法

SCAN和CSCAN算法
EN

Stack Overflow用户
提问于 2014-11-25 18:49:28
回答 1查看 21.3K关注 0票数 4

我很难理解SCAN的工作原理和磁盘调度的CSCAN算法。我理解FCFS,紧随其后的是最近的柱面,但听说SCAN类似于电梯机制,并感到困惑。我的书上说,对于传入的订单:10 22 20 2 40 6 38在开始时移动的扫描服务( 20 ) 20 22 38 40 10 6 2;这需要移动0 2 16 2 30 4 4个柱面,总共58个柱面。模式( 20 ) 20 22 38 40 10 62是怎么来的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-26 03:21:27

让我们知道SCAN(Elevator)磁盘调度算法是怎么说的:

,它向下扫描到最近的一端,然后当它到达底部时,它向上扫描,服务于它没有向下的请求。如果请求是在扫描之后传入的,则在进程返回或向上移动之前,将不会为其提供服务。

因此,在您的示例中,磁盘的当前位置是20。因此,根据扫描算法,它将向最近的末端扫描,并且在命中底部后,它将向上扫描,为备份请求提供服务。

次序如下:

代码语言:javascript
复制
|                                                     |


| * current position                                  | * move back up to upside
|---> nearest disk is this one                        |
|     so it'll move down and so on.                   |
|         as it hit the bottom                     _______

____

代码语言:javascript
复制
                   Fig :- Demonstration of SCAN algorithm  

因此,根据给定的数据,顺序将是[(20) 20 22 38 40 10 6 2];

编辑:-

SCAN和CSCAN之间的唯一区别是在CSCAN中,

,它从最近的一端开始扫描,然后一直扫描到系统的最后。一旦到达底部或顶部,它就会跳到另一端,并沿着相同的方向移动,这与使用相同路径返回到上方的扫描不同。

根据CSCAN,移动的方向将是相同的,直到底部,然后它将颠倒路径。

因此,根据给定的数据,顺序将是[(20) 20 22 38 40 2 6 10];,请注意最后三个磁盘位置的变化。

我希望这是清楚的。请随时询问剩余的疑问。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27124654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档