电梯调度算法代码(SCAN扫描调度算法)

之前笔者和大家讨论过FCFS(先来先服务算法)SSTF(最短路径搜索算法),那么今天我们就来讨论在计算机磁盘驱动调度当中,一种比较重要的算法,叫做SCAN(扫描调度算法),又叫做电梯算法

谈到电梯,大家往往会想到现实中的电梯,既能够上升又能够下降

那电梯的工作原理是什么呢

不知道大家有没有观察过生活中的电梯,它们往往是先沿着一个方向不停的到底,直到那个方向没有人按电梯按钮之后,再回过头来

比方说,当前电梯在10楼,然后有人先按11楼、12楼、21楼,后来有人按了9楼、8楼、1楼,电梯如果是先往上走,那么它就要先到11楼,再到12楼,最后到21楼,等21楼完成后,再回到9楼、8楼、1楼

那么,这也同样适用于计算机中的磁盘驱动调度

我们来看道例题

电梯调度算法代码(SCAN扫描调度算法)(1)

图一

这道题已经明确告诉我们,目前磁头位于100道,向磁道序号增加的方向移动

那么,从100开始,就得往增加的方向移动,下一号也就是110

所以A、B两个选项可以率先排除了

之后,磁头不停的移动,直到180为止,磁道序号增加的方向已经没有数据了,便会向磁道序号减少道方向移动,率先移动到的就是95

综上所述,这道题的答案显而易见,选C

最后做个总结,SCAN算法的磁头移动规律和电梯的移动轨迹真的很像,但是会对最近扫描过的数据不公平,比方说95就不公平了,但是却克服了不少缺点,总的来说有利有弊

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页