linux磁盘调度算法fcfs,磁盘调度算法——FCFS、SSTF、SCAN、CSCAN、LOOK、CLOOK

为了减少对文件的访问时间,应采用一种最佳的磁盘调度算法,以使各进程对磁盘的平均访问时间最少。由于在访问磁盘时主要是寻道时间。因此,磁盘调度的目标是使磁盘的平均寻道时间最少。

一.先来先服务(FCFS)

1.方法

根据进程请求访问磁盘的先后顺序进行调度

2.优点

公平、简单、每个进程请求都能依次得到处理,不会出现某一进程的请求长期得不到满足。

3.缺点

平均寻道时间有点长,适用于磁盘I/O进程数目较少的场合

4.举例

从100号磁道访问

FCFS调度算法

被访问的下一个磁道号

移动距离(磁道数)

55

45

58

3

39

19

18

21

90

72

160

70

150

10

38

112

184

146

二.最短寻道时间优先(SSTF)

1.方法

其要求访问的磁道与当前磁头所在的磁道距离最近

2.缺点

优先级低的进程会发生“饥饿”现象。因为新进程请求到达,且其所要访问的磁道与磁头当前所在的磁道距离较近,必先优先满足。

3.举例

从100号磁道访问

SSTF调度算法

被访问的下一个磁道号

移动距离(磁道数)

90

10

58

32

55

3

39

16

38

1

18

20

150

132

160

10

184

24

平均寻道长度:27.5

三.扫描算法(电梯调度算法)(SCAN)

1.方法

1.首先自里向外访问,下一个对象是其欲访问的磁道既在当前磁道之外,又是距离最近的;

2.直至无更外的磁道需要访问时,才将磁臂换向为自外向里移动;

3.下一个访问的磁道在当前位置内为距离最近者;直至再无更里面的磁道要访问。

2.优点

不仅考虑到欲访问的磁道与当前磁道间的距离,更优先考虑了磁头当前的移动方向;避免了出现“饥饿”现象。被广泛用于大、中、小型机器和网络中的磁盘调度。

3.缺点

当磁道刚从里向外移动而越过了某一磁道时,刚好一进程请求访问此磁道,这时此进程会等待,待磁头继续从里向外,然后从外向里扫描完处于外面的所有要访问的磁道后,才处理此进程,致使该进程的请求被大大推迟。

4.举例

从100#号磁道开始,向磁道号增加方向访问

SCAN调度算法

被访问的下一个磁道号

移动距离(磁道数)

150

50

160

10

184

24

90

94

58

32

55

3

39

16

38

1

18

20

平均寻道长度:27.8

四.循环扫描算法(CSCAN)

1.方法

1.首先自里向外访问,当磁头移到最外的磁道并访问后,磁头返回到最里的欲访问磁道,即将最小磁道号紧接着最大磁道号构成循环,继续循环扫描

2.直至无更外的磁道需要访问时,才将磁臂换向为自外向里移动;

3.下一个访问的磁道在当前位置内为距离最近者;直至再无更里面的磁道要访问。

2.优点

弥补扫描算法的不足

3.举例

从100#号磁道开始,向磁道号增加方向访问

SCAN调度算法

被访问的下一个磁道号

移动距离(磁道数)

150

50

160

10

184

24

18

166

38

20

39

1

55

16

58

3

90

32

平均寻道长度:35.8

五.LOOk和C-LOOK

1.方法

LOOK和C-LOOK就是对应SCAN和C-SCAN的改进算法。因为SCAN和C-SCAN中每次磁头都要走到磁道尽头,而实际过程中并不需要要求磁头走到尽头,而是到达该方向的最后一个请求后即可返回,这样可以避免一些不必要的磁头移动。

2.优点

避免一些不必要的磁头移动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值