磁盘的驱动调度算法

磁盘的驱动调度算法

磁盘是可供多个进程共享的设备,由于磁盘是串行I/O,当有多个进程要求访问磁盘时,应采用一种调度算法,以使各进程对磁盘的平均访问时间尽可能的少。

磁盘调度的目标:是磁盘的平均寻道时间最少

常用的调度算法有:

  1. 先来先服务FCFS:根据进程请求访问磁盘的先后次序进行调度
  2. 最短寻道时间优先SSTF:要求访问的磁道与当前磁头位置距离最近最短寻道时间优先SSTF:要求访问的磁道与当前磁头位置距离最近
  3. 扫描算法SCAN:按磁头移动方向,依次按距离移动,直到前方没有磁道需要访问时,转向扫描算法SCAN:按磁头移动方向,依次按距离移动,直到前方没有磁道需要访问时,转向
  4. 循环扫描算法CSCAN:按磁头移动方向,依次按距离移动到最边上的磁道,然后又回到离起始磁道位置最近的位置,依次按距离移动循环扫描算法CSCAN:按磁头移动方向,依次按距离移动到最边上的磁道,然后又回到离起始磁道位置最近的位置,依次按距离移动

例:某磁盘共200个磁道,编号为0-199。某时刻磁头刚从96磁道移动到100磁道,目前正停在第100磁道上。之后该磁盘一次接收到的磁盘请求分别为55,58,39,18,90,160,150,38,184
请采用各种磁盘调度算法进行调度。

1、先来先服务FCFS
磁头访问次序:55 58 39 18 90 160 150 38 184
磁头移动距离:45 3 19 21 72 70 10 112 146
平均寻道时间:55.3

2、最短寻道时间优先SSTF
磁头访问次序:90 58 55 39 38 18 150 160 184
磁头移动距离:10 32 3 16 1 20 132 10 24
平均寻道时间:27.6

3、扫描算法SCAN
磁头访问次序:150 160 184 90 58 55 39 38 18
磁头移动距离:50 10 24 94 32 3 16 1 20
平均寻道时间:27.8

4、循环扫描算法CSCAN
磁头访问次序:150 160 184 18 38 39 55 58 90
磁头移动距离:50 10 24 166 20 1 16 3 32
平均寻道时间:35.8

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值