移臂 调度算法又叫 磁盘调度算法,根本目的在于有效利用磁盘,保证磁盘的快速访问。
1) 先来先服务算法:该算法实际上不考虑访问者要求访问的物理位置,而只是考虑访问者提出访问请求的先后次序。有可能随时改变移动臂的方向。
2) 最短寻找时间优先 调度算法:从等待的访问者中挑选寻找时间最短的那个请求执行,而不管访问者的先后次序。这也有可能随时改变移动臂的方向。
3) 电梯调度算法:从移动臂当前位置沿移动方向选择最近的那个柱面的访问者来执行,若该方向上无请求访问时,就改变臂的移动方向再选择。
4) 单向扫描 调度算法。不考虑访问者等待的先后次序,总是从0号柱面开始向里道扫描,按照各自所要访问的柱面位置的次序去选择访问者。在移动臂到达最后一个柱面后,立即快速返回到0号柱面,返回时不为任何的访问者提供服务,在返回到0号柱面后,再次进行扫描。
以上几种算法要求记住定义并根据访问条件,做出调度后的访问序列。
例:假定某磁盘共有200个柱面,编号为0-199,如果在为访问143号柱面的请求者服务后,当前正在为访问125号柱面的请求服务,同时有若干请求者在等待服务,它们每次要访问的柱面号为
86,147,91,177,94,150,102,175,130
请回答下列问题:
a.分别用先来先服务算法,最短寻找时间优先算法、 电梯调度算法和单各扫描算法来确定实际的服务次序。
b.按实际服务计算上述算法下移动臂需移动的距离。
答:a 当前柱面位置:125#,采用不同的 调度算法服务满足次序如:表(1)
表格 1
调度算法 作业调度次序
先来先服务 (125)86.147.91.177.94.150.102.175.130
想:先来先得,就是按题目把你的顺序列出就可。
最短寻找时间优先 (125)130.147.150.175.177.102.94.91.86
想:寻找与执行位置最短的时间进行依次排列。
电梯调度 (125),102,94,91,86,130,147,150,175,177
想:按当前位置找出最近的那个数,当前位置指向最近数决定方向,依次排列数字,排到尽头,再按当位置和最近数的相反方面依次排列数字。
单向扫描 (125)130.147.150.175.177.86.91.94.102
想:由当前位置到从小到大排列数字,再将剩下的数由小到大排。
(2)上述各算法移动臂需移动的距离如:表2
表格 2
调度算法 移动臂的移动距离
先来先服务 (125-86)+(147-86)+(147-91)+(177-91)+(177-94)+(150-94)+(150-102)+(175-102)+(175-130)=547
最短寻找时间优先 5+17+3+25+2+75+8+3+5=143
电梯调度 23+8+3+5+44+17+3+25+2=130
单向扫描 375。注意此处有个199到0的+1。