📜  各种磁盘调度算法的优缺点

📅  最后修改于: 2021-09-27 22:33:21             🧑  作者: Mango

先决条件 – 磁盘调度算法

1. 先到先得(FCFS):
优点 –

  1. 先来先服务算法有一个非常简单的逻辑,它按照进程请求到达的顺序一一执行。
  2. 因此,先到先得非常简单,易于理解和实施。
  3. 最终在 FCFS 中,每个进程都有机会执行,因此不会发生饥饿。

缺点——

  1. 这种调度算法是非抢占式的,这意味着进程不能在执行过程中停止,并且会一直运行。
  2. FCFS是一种非抢占式调度算法,队列后面的短进程必须等待前面的长进程完成
  3. FCFS 的吞吐量不是很有效。
  4. FCFS 仅在输入输出效率不是最重要的小型系统上实施。

2.最短寻道时间优先(SSTF):
优点 –

  1. 与先到先得相比,总寻道时间减少了。
  2. SSTF 改进并增加了吞吐量。
  3. SSTF 中的平均等待时间和响应时间更少。

缺点——

  1. 在 SSTF 中,找出最近的请求会产生开销。
  2. 对于远离头部的请求,可能会发生饥饿。
  3. 在 SSTF 中,响应时间和等待时间存在很大差异。
  4. 头部方向的频繁切换会减慢算法的速度。

3. 扫描:
优点 –

  1. 扫描调度算法简单易懂,易于实现。
  2. SCAN 算法避免了饥饿。
  3. 低方差 发生在等待时间和响应时间。

缺点——

  1. 磁头刚访问过的气缸会出现较长的等待时间。
  2. 在 SCAN 中,尽管没有要服务的请求,但磁头仍会移动到磁盘的末尾。

4. C-扫描:
优点 –

  1. C-SCAN算法是SCAN调度算法的继任者和改进版。
  2. 磁头从磁盘的一端移动到另一端,同时为两者之间的所有请求提供服务。
  3. 与 SCAN 算法相比,C-SCAN 中磁头刚访问过的气缸的等待时间减少了。
  4. 提供统一的等待时间。
  5. 提供更好的响应时间。

缺点——

  1. 与 SCAN 算法相比,C-SCAN 会引起更多的寻道运动。
  2. 在 C-SCAN 中,即使没有要处理的请求,Head 仍然会移动到磁盘的末尾,这与 SCAN 算法不同。

5.看:
优点 –

  1. 如果没有剩余的服务请求,则与 SCAN 算法不同,Head 不会移动到磁盘的末尾。
  2. 与 SCAN 算法相比,提供了更好的性能。
  3. LOOK 调度算法避免了饥饿。
  4. 等待时间和响应时间的差异很小。

缺点——

  1. 存在查找结束请求的开销。
  2. 刚被Head访问过的Cylinder需要等待很长时间。

6. C-外观:
优点 –

  1. 在 C-LOOK 中,如果没有要服务的请求,则磁头不必移动到磁盘的末尾。
  2. 在 C-LOOK 中,头部刚访问过的圆柱体的等待时间更少。
  3. 与 LOOK 算法相比,C-LOOK 提供了更好的性能。
  4. 在 C-LOOK 中避免了饥饿。
  5. 等待时间和响应时间的差异很小。

缺点——

  1. 在 C-LOOK 中存在查找结束请求的开销。