有事要去写字楼,等电梯好久,,,突然想起这几天看的磁盘调度算法好像是一个风格.
先来先服务(FCFS).
按照请求的顺序前往目的楼层,咳,很公平是不错了...不过要是真有人这么玩绝逼会被揍.
最短寻道时间优先(SSTF).
每次准备启动前扫描目的楼层列表,每次都选择绝对距离最小的目的楼层前往.相对于先来先服务是好得多,但可能电梯只在某几个楼层之间反复停靠的现象(磁盘调度里叫磁臂粘着),其他的楼层就被饿死了...
扫描算法(SCAN).
当楼层列表里出现第一个目标楼层时,运行方向定义为初始方向.之后每次停靠查看楼层列表,有无该方向上的目标楼层,若有,继续以该方向前进;若没有,且楼层队列里仍有目标楼层,将运行方向反向;若没有,且楼层队列已空,则停止运行,运行方向置空.
循环扫描算法(CSCAN).
电梯只能单方向移动(用在电梯里会比先来先服务还惨....
NStepSCAN.
将楼层列表分为每个长度为N的小队列,对每个队列采用扫描算法,选择队列是采用先来先服务.听起来是不错了...仔细一想绝壁是被揍的...
FSCAN.
将楼层列表分为正在处理列表和待处理列表(在处理正在处理列表时请求的楼层都放到该列表),一个一个来(N色图片SCAN的简化版,死得更惨.
带优先级的算法.
允许电梯的使用者拥有不同的优先级,优先级高的使用者的请求会被先执行.
看计网去了sad,荆轲刺秦王.