磁盘调度

磁盘的物理结构

磁盘可用 (柱面号, 盘面号, 扇区号) 来定位到任意一个磁盘块。
柱面号: 由磁道组成, 一个磁盘由多个盘片组成, 不同盘片的磁头是固定在一起的, 只能一起移动。 由上到下磁头所指向的磁道组成一个柱面。

盘面号: 一个盘片分为两个面,盘面号指明是这个盘片的哪个面。

扇区号:盘面被分为多个扇形, 每个扇形区域都被标号。

磁盘读写所需得时间

分为寻道时间, 延迟时间, 传输时间

寻道时间:寻道时间分为两部分, 启动磁臂和移动磁头所需要的时间。
延迟时间:将目标扇区转到磁头下面所需的时间。
传输时间: 读/写数据所需要的时间。

磁盘调度算法

大体分为以下几种:

先来先服务(FCFS)
最短寻道时间优先(SSTF)
扫描算法(SCAN)
循环扫描算法(C-SCAN)

先来先服务

按访问请求到达的先后顺序服务。

比如进程发起的磁盘请求依次到达, 30, 41,52, 28,39.
按 30 -> 41 -> 52 -> 28 -> 39这个顺序执行。

优点:公平, 若访问的磁道比较集中, 性能不错。
缺点:若进程请求访问的磁道很分散, 则寻道时间很长。

最短寻道时间优先

类似贪心算法, 选择下一步最优解, 不一定是总体最优。
若当前磁头在50号磁道, 进程陆续访问 56, 90, 51, 69, 30.
则按 51 -> 56 -> 69 -> 90 -> 30的顺序访问。

优点: 平均寻道时间短。
缺点: 可能产生饥饿。

扫描算法

为了防止饥饿, 磁头移动到最外侧或者最内侧之后, 才能改变磁头的移动方向。
也成为电梯算法

若此时磁头在50号磁道上, 进程陆续访问 56, 90, 51, 69,40, 30.
则按 51 -> 56 -> 69 -> 90 -> 40 -> 30的顺序。

优点: 性能好, 不会产生饥饿。
缺点:只有到达最边上的磁道才能改变磁头移动方向, 会多走不必要走的磁道。
对各个位置的磁道的响应频率不平均。

LOOK算法

SCAN算法的改进, 若不需要访问最边上的磁道, 就不必移动到最边上的磁道上。

循环扫描算法(C-SCAN)

在移动到最边上之后, 立刻移动到另一边, 此过程不访问任何磁道, 解决磁道各个位置的访问频率不平均的问题。

C-LOOK算法

若最边上没有磁道请求, 则不需要移动到最边上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值