磁盘调度算法
第一页,共11页
磁盘调度算法
磁盘调度算法有若干种,但着眼点都放在寻道优化上,即寻道时间尽量短,吞吐量尽量大。目前广泛使用的寻道策略有下列几种:
第二页,共11页
1.先来先服务寻道算法(FCFS):
按进程请求访问磁盘的先后次序进行调度。
特点:合理、简单、但未对寻道进行优化。
第三页,共11页
2.最短寻道时间优先算法(SSFT,Shortest-Seek-Time-First)
选择与当前磁头所在的磁道距离最近的请求作为下一次服务的对象。
缺点:
(1)不能保证平均寻道时间最短;
(2)可能会使某些请求总得不到服务(又称饥饿)。
第四页,共11页
3.扫描算法(SCAN)
在磁头移动方向上选择与当前磁头所在的磁道距离最近的请求作为下一次服务的对象。
优点:
(1)具有较好的寻道性能;
(2)避免了饥饿现象
缺点:
不利于远离磁头一端的访问请求。
第五页,共11页
4.循环扫描算法(CSCAN)
是对扫描算法(SCAN)的改良,它规定磁头单向移动,例如自内向外移动,当磁头移动到最外磁道时立即又返回到最内磁道,如此循环进行扫描。
优点:
消除了对两端磁道请求的不公平。
第六页,共11页
举例:
若磁头的当前位置为72磁道,磁头正向磁道增加方向移动。现有一磁盘读写请求队列98,220,37,122,14,124,65,82,试计算出采用下列不同算法的平均寻道长度各为多少?
(1)FCFS算法
(2)SSTF算法
(3)SCAN算法
(4)CSCAN算法
第七页,共11页
解:(1)FCFS算法
98 26
220 122
37 183
122 85
14 108
124 110
65 59
82 17
下一磁道 移动磁道数
平均寻道长度=710/8=
从72磁道开始
第八页,共11页
解:(2)SSTF算法
65 7
82 17
98 16
122 24
124 2
37 87
14 23
220 206
下一磁道 移动磁道数
平均寻道长度=382/8=
从72磁道开始
第九页,共11页
解:(3)SCAN算法
82 10
98 16
122 24
124 2
220 96
65 155
37 28
14 23
下一磁道 移动磁道数
平均寻道长度=354/8=
从72磁道开始
第十页,共11页
磁盘调度算法 来自淘豆网m.daumloan.com转载请标明出处.