操作系统原理经典题型——磁盘调度算法(小白也能看懂)

六、磁盘调度算法

如题: 假设一个磁盘有100个柱面,编号为0~99,在完成了磁道25处的请求后,磁头当前正在磁道43处服务。磁盘请求的柱面按38、6、40、2、20、22、10的次序到达磁盘驱动器,寻道时每移动一个柱面需要10ms,计算以下算法的总寻道时间:
(1)先来先服务算法
(2)最短寻道时间优先算法
(3)电梯调度算法。

先来先服务(FCFS)

思路: 按顺序一个一个来,依次执行

即43→38→6→40→2→20→22→10

解题过程:

  1. 列一个表

  2. 根据算法依次写出下一个磁道数

  3. 移动的磁道数就是两者差的绝对值

    下一个磁道号移动的磁道数
    38|43-38|=5
    6|38-6|=32
    40|6-40|=34
    2|40-2|=38
    2018
    222
    1012
  4. 根据移动的磁道数计算总寻道时间
    ( 5 + 32 + 34 + 38 + 18 + 2 + 12 ) ∗ 10 = 1410 m s (5+32+34+38+18+2+12)*10=1410ms (5+32+34+38+18+2+12)10=1410ms

最短寻道时间优先(SSTF)

思路: 按最接近当前磁道的来

即43→40→38→22→20→10→6→2

值得注意的是,磁盘是一个圆,所以如果当前是98处,请求的柱面是95、1,那么按绝对值来最接近的磁道是1

解题过程:

  1. 跟上面一样

    下一个磁道号移动的磁道数
    403
    382
    2216
    202
    1010
    64
    24
SCAN扫描电梯算法(SCAN)

思路: 按方向找最近的,找完了那就反方向

以该题为例: 假定一磁盘有200个柱面,编号为0—199,在完成了磁道125处的请求后,当前正在磁道143处为一个请求服务。若请求队列的先后顺序为86,147,91,177,94,150,102,175,130,采用SCAN(扫描)算法和CSCAN(循环扫描)完成上述请求,写出磁头移动的顺序,并计算存取臂移动总量(单位为磁道数)。

题目以125->143为正方向

即143→147→150→175→177→130→102→94→91→86

解题过程:

  1. 跟上面一样

    下一个磁道号移动的磁道数
    1474
    1503
    17525
    1772
    13047
    10228
    948
    913
    865
循环扫描(CSCAN)

思路: 按方向找最近的,找完了那就从0开始按方向找

以该题为例: 假定一磁盘有200个柱面,编号为0—199,在完成了磁道125处的请求后,当前正在磁道143处为一个请求服务。若请求队列的先后顺序为86,147,91,177,94,150,102,175,130,采用SCAN(扫描)算法和CSCAN(循环扫描)完成上述请求,写出磁头移动的顺序,并计算存取臂移动总量(单位为磁道数)。

题目以125->143为正方向

即143→147→150→175→177→86→91→94→102→130

解题过程:

  1. 跟上面一样

    下一个磁道号移动的磁道数
    1474
    1503
    17525
    1772
    8691
    915
    943
    1028
    13028
  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我嘞个乖乖鹅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值