操作系统 SSTF和C-LOOK磁盘调度算法的区别
在本文中,您将了解SSTF和C-LOOK磁盘调度算法之间的区别。但在讨论区别之前,您需要了解SSTF和C-LOOK磁盘调度算法。
什么是SSTF磁盘调度算法
SSTF代表Shortest Seek Time First,它为与磁头的当前位置最接近的请求提供服务。磁头指针的方向在这个算法中非常重要。当请求之间发生平局时,磁头将按照当前方向服务请求。与FCFS相比,SSTF算法在总寻道时间方面非常高效。
示例:
让我们通过一个例子来了解SSTF磁盘调度算法。假设有一个磁盘,拥有180个轨道(0-179),磁盘队列中的输入/输出请求按照以下顺序排列:78, 64, 35, 169, 95, 147, 13, 115。读/写头的初始位置是45,并且将向左移动。使用SSTF算法,找出读/写头的总轨道移动次数。
解决方案:
总头动作,
初始头部位置是 45 ,
= (45-35) + (35-13) + (64-13) + (78-64) + (95-78) + (115-95) + (147-115) + (169-147)
= 10 + 22 + 41 + 14 + 17 + 20 + 32 + 22
= 178
SSTF磁盘调度算法的优缺点
SSTF磁盘调度算法有各种优点和缺点。这些优点和缺点如下:
优点
- 它提高和增加了吞吐量。
- SSTF的总寻道时间比FCFS低。
- 它具有较低的响应时间和平均等待时间。
缺点
-
对于远离头部的请求,可能会出现饥饿。
- 在SSTF磁盘调度算法中,响应时间和等待时间存在很大的变差。
- 频繁变换头部方向会减慢算法速度。
C-LOOK磁盘调度算法
它是LOOK和SCAN磁盘调度算法的结合。在这种磁盘调度算法中,头部从初始请求开始,在另一个方向上移动到最后一个请求,并在此之间为所有请求提供服务。在完成一端的最后一个请求后,头部会跳转到另一个方向,然后朝着剩余的请求继续前进,并以与之前相同的方向完成它们。与LOOK不同,它只响应一个方向的请求。
示例:
让我们通过一个例子来了解C-LOOK磁盘调度算法。假设有一个磁盘,有 180 个轨道 (0-179) ,磁盘队列按照以下顺序有输入/输出请求: 78, 64, 35, 169, 95, 147, 13, 115 。读/写头的初始位置是 45 ,并朝右移动。使用C-LOOK磁盘调度算法,计算读/写头的总轨道移动次数。
解决方案:
总共的头部移动次数,
初始头部位置为 45 ,
= (64-45) + (78-64) + (95-78) + (115-95) + (147-115) + (169-147) + (169-13) + (35-13)
= 19 + 14 + 17 + 20 + 32 + 22 + 156 + 22
= 302
C-LOOK磁盘调度算法的优点和缺点
C-LOOK磁盘调度算法有各种优点和缺点。这些优点和缺点如下:
优点
- 相比LOOK磁盘调度算法,它提供更好的性能。
- 避免了C-LOOK磁盘调度算法中的饥饿问题。
- 如果没有请求要处理,在C-LOOK磁盘调度算法中,头部不必一直到磁盘末尾。
- 在C-LOOK中,只有被头部访问的柱面的等待时间最短。
- 等待时间和响应时间的方差较小。
缺点
- C-LOOK中存在查找末尾请求的开销。
SSTF和C-LOOK磁盘调度算法的主要区别
在这里,您将了解SSTF和C-LOOK磁盘调度算法之间的主要区别。 SSTF和C-LOOK磁盘调度算法之间的各种不同之处如下:
- SSTF代表最短寻道时间优先。相比之下,C-LOOK是LOOK和SCAN磁盘调度算法的组合。
- SSTF磁盘调度算法的响应时间和平均等待时间具有很大的差异。相比之下,C-LOOK磁盘调度在平均等待时间和响应时间上具有较低的差异。
- SSTF磁盘调度算法的性能小于C-LOOK磁盘调度算法。相比之下,C-LOOK磁盘调度算法的性能高于SSTF磁盘调度算法。
- SSTF磁盘调度算法在两个方向上服务请求。相比之下,C-LOOK磁盘调度算法只在一个方向上服务请求。
- SSTF磁盘调度算法需要找到最接近的请求。相比之下,C-LOOK磁盘调度算法比SSTF磁盘调度算法更多地引起寻道时间。
- SSTF磁盘调度算法可能导致饥饿。相比之下,C-LOOK磁盘调度算法永远不会导致任何请求饥饿。
SSTF和C-LOOK磁盘调度算法的对比
在这里,您将了解SSTF和C-LOOK磁盘调度算法之间的对比。 SSTF和C-LOOK磁盘调度算法之间的主要差异如下:
SSTF磁盘调度算法 | C-LOOK磁盘调度算法 |
---|---|
SSTF代表最短寻道时间优先算法。 | 它是LOOK和SCAN磁盘调度算法的结合。 |
SSTF磁盘调度算法在两个方向上处理请求。 | C-LOOK磁盘调度算法只在一个方向上处理请求。 |
SSTF磁盘调度算法的响应时间和平均等待时间存在很大的差异。 | C-LOOK磁盘调度算法的平均等待时间和响应时间差异较小。 |
SSTF磁盘调度算法的性能低于C-LOOK磁盘调度算法。 | C-LOOK磁盘调度算法的性能高于SSTF磁盘调度算法。 |
SSTF磁盘调度算法需要查找最近的请求。 | C-LOOK磁盘调度算法比SSTF磁盘调度算法产生更多的寻道时间。 |
SSTF磁盘调度算法可能导致饥饿现象。 | C-LOOK磁盘调度算法永远不会导致任何请求饥饿。 |
在上述SSTF算法示例中,磁头从45开始,在移动到最近的请求之前,分析该方向上的请求。 | 在上述C-LOOK算法示例中,磁头从45开始,向右方向服务所有请求,直到到达一端的最后一个请求。之后,它继续移动到剩余的请求,并且只在右方向上为它们提供服务。 |