美文网首页操作系统
磁盘调度方法

磁盘调度方法

作者: Zh1为明天1 | 来源:发表于2018-12-05 21:25 被阅读0次

先来先服务算法

FCFS算法根据进程请求访问磁盘的先后顺序进行调度,这是一种最简单的调度算法。该算法的优点是具有公平性。如果只有少量进程需要访问,且大部分请求都是访问簇聚的文件扇区,则有望达到较好的性能;但如果有大量进程竞争使用磁盘,那么这种算法在性能上往往接近于随机调度。所以,实际磁盘调度中考虑一些更为复杂的调度算法。[1]

1、算法思想:按访问请求到达的先后次序服务。

2、优点:简单,公平。

3、缺点:效率不高,相邻两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利。

4、例子:

假设磁盘访问序列:98,183,37,122,14,124,65,67。读写头起始位置:53。求:磁头服务序列和磁头移动总距离(道数)。

由题意和先来先服务算法的思想,得到下图所示的磁头移动轨迹。由此:

磁头服务序列为:98,183,37,122,14,124,65,67

磁头移动总距离=(98-53)+(183-98)+|37-183|+(122-37)+|14-122|+(124-14)+|65-124|+(67-65)=640(磁道)

FCFS

最短寻找时间优先算法

[1]SSTF算法选择调度处理的磁道是与当前磁头所在磁道距离最近的磁道,以使每次的寻找时间最短。当然,总是选择最小寻找时间并不能保证平均寻找时间最小,但是能提供比FCFS算法更好的性能。这种算法会产生“饥饿”现象。

1、算法思想:优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先。

2、优点:改善了磁盘平均服务时间。

3、缺点:造成某些访问请求长期等待得不到服务。

4、例子:对上例的磁盘访问序列,可得磁头移动的轨迹如下图。

扫描算法(又称电梯算法)

SCAN算法在磁头当前移动方向上选择与当前磁头所在磁道距离最近的请求作为下一次服务的对象。由于磁头移动规律与电梯运行相似,故又称为电梯调度算法。SCAN算法对最近扫描过的区域不公平,因此,它在访问局部性方面不如FCFS算法和SSTF算法好。[1]

算法思想:当设备无访问请求时,磁头不动;当有访问请求时,磁头按一个方向移动,在移[2]动过程中对遇到的访问请求进行服务,然后判断该方向上是否还有访问请求,如果有则继续扫描;否则改变移动方向,并为经过的访问请求服务,如此反复。如下图所示:

扫描算法(电梯算法)的磁头移动轨迹

2、优点:克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向。

循环扫描算法

[1]在扫描算法的基础上规定磁头单向移动来提供服务,回返时直接快速移动至起始端而不服务任何请求。由于SCAN算法偏向于处理那些接近最里或最外的磁道的访问请求,所以使用改进型的C-SCAN算法来避免这个问题。

釆用SCAN算法和C-SCAN算法时磁头总是严格地遵循从盘面的一端到另一端,显然,在实际使用时还可以改进,即磁头移动只需要到达最远端的一个请求即可返回,不需要到达磁盘端点。这种形式的SCAN算法和C-SCAN算法称为LOOK和C-LOOK调度。这是因为它们在朝一个给定方向移动前会查看是否有请求。注意,若无特别说明,也可以默认SCAN算法和C-SCAN算法为LOOK和C-LOOK调度。

比较

优点 缺点

FCFS算法

公平、简单

平均寻道距离大,仅应用在磁盘I/O较少的场合

SSTF算法

性能比“先来先服务”好

不能保证平均寻道时间最短,可能出现“饥饿”现象

SCAN算法

寻道性能较好,可避免“饥饿”现象

不利于远离磁头一端的访问请求

相关文章

  • 磁盘调度方法

    先来先服务算法 FCFS算法根据进程请求访问磁盘的先后顺序进行调度,这是一种最简单的调度算法。该算法的优点是具有公...

  • 磁盘调度算法

    1、对于如下给定的一组磁盘访问进行调度: 2、要求分别采用先来先服务、最短寻道优先以及电梯调度方法进行调度。3、要...

  • K8S调度器 污点使用方法

    默认调度是:最大空闲资源调度 调度器 预算策略 CheckNodeCondition:检查节点网络磁盘等是否正常 ...

  • 磁盘调度算法

    前言 上文介绍了磁盘的结构,本文介绍磁盘的调度算法相关的内容。本文内容 1 一次磁盘读/写操作需要的时间 寻找时间...

  • 磁盘调度算法

    磁盘读写时间 = 寻道时间 + 旋转延迟 + 数据传输时间其中,寻道时间最夯,因此,针对寻道时间有优化,有以下几种...

  • 磁盘IO调度

    IO队列排序,会重排把地址临近区域排在一起,方便磁盘按序寻址。 而为了防止某一块地址靠后的区域因为重排前面不停有人...

  • 知识是常识的冗余

    常识:调度 有稀缺需要共享的资源,就会产生调度机制 有如下几种调度机制 进程调度 磁盘调度 设备争用总线 设备控制...

  • [操作系统]磁盘调度

    problem 实验内容:编写一个磁盘调度程序,模拟操作系统对磁盘的调度。 实验目的:本实验要求学生独立设计并实现...

  • 操作系统实验六

    实验内容 本实验通过编程模拟实现几种常见的磁盘调度算法 简直可怕,怎么可能写出来磁盘调度算法啊喂!算法实现倒还好说...

  • 互斥那点事儿(下)

    “我找到好办法了!” 没有想到,说话的人竟然是磁盘! 进程调度器瑟瑟的说:“你有方法?还是算了吧,我怕用你的方法操...

网友评论

    本文标题:磁盘调度方法

    本文链接:https://www.haomeiwen.com/subject/vwkgcqtx.html