先决条件 – 磁盘调度算法
1. 先到先得(FCFS):
优点 –
- 先来先服务算法有一个非常简单的逻辑,它按照进程请求到达的顺序一一执行。
- 因此,先到先得非常简单,易于理解和实施。
- 最终在 FCFS 中,每个进程都有机会执行,因此不会发生饥饿。
缺点——
- 这种调度算法是非抢占式的,这意味着进程不能在执行过程中停止,并且会一直运行。
- FCFS是一种非抢占式调度算法,队列后面的短进程必须等待前面的长进程完成
- FCFS 的吞吐量不是很有效。
- FCFS 仅在输入输出效率不是最重要的小型系统上实施。
2.最短寻道时间优先(SSTF):
优点 –
- 与先到先得相比,总寻道时间减少了。
- SSTF 改进并增加了吞吐量。
- SSTF 中的平均等待时间和响应时间更少。
缺点——
- 在 SSTF 中,找出最近的请求会产生开销。
- 对于远离头部的请求,可能会发生饥饿。
- 在 SSTF 中,响应时间和等待时间存在很大差异。
- 头部方向的频繁切换会减慢算法的速度。
3. 扫描:
优点 –
- 扫描调度算法简单易懂,易于实现。
- SCAN 算法避免了饥饿。
- 低方差 发生在等待时间和响应时间。
缺点——
- 磁头刚访问过的气缸会出现较长的等待时间。
- 在 SCAN 中,尽管没有要服务的请求,但磁头仍会移动到磁盘的末尾。
4. C-扫描:
优点 –
- C-SCAN算法是SCAN调度算法的继任者和改进版。
- 磁头从磁盘的一端移动到另一端,同时为两者之间的所有请求提供服务。
- 与 SCAN 算法相比,C-SCAN 中磁头刚访问过的气缸的等待时间减少了。
- 提供统一的等待时间。
- 提供更好的响应时间。
缺点——
- 与 SCAN 算法相比,C-SCAN 会引起更多的寻道运动。
- 在 C-SCAN 中,即使没有要处理的请求,Head 仍然会移动到磁盘的末尾,这与 SCAN 算法不同。
5.看:
优点 –
- 如果没有剩余的服务请求,则与 SCAN 算法不同,Head 不会移动到磁盘的末尾。
- 与 SCAN 算法相比,提供了更好的性能。
- LOOK 调度算法避免了饥饿。
- 等待时间和响应时间的差异很小。
缺点——
- 存在查找结束请求的开销。
- 刚被Head访问过的Cylinder需要等待很长时间。
6. C-外观:
优点 –
- 在 C-LOOK 中,如果没有要服务的请求,则磁头不必移动到磁盘的末尾。
- 在 C-LOOK 中,头部刚访问过的圆柱体的等待时间更少。
- 与 LOOK 算法相比,C-LOOK 提供了更好的性能。
- 在 C-LOOK 中避免了饥饿。
- 等待时间和响应时间的差异很小。
缺点——
- 在 C-LOOK 中存在查找结束请求的开销。