操作系统 SSTF和LOOK磁盘调度算法的区别

操作系统 SSTF和LOOK磁盘调度算法的区别

操作系统对磁盘进行调度以调度到达磁盘的I/O请求。磁盘调度也被称为I/O调度。磁盘调度算法的目标是最大化吞吐量并最小化响应时间。下面是六种不同的磁盘调度算法,如先来先服务(FCFS)、最短寻道时间优先(SSTF)、扫描、查找(Look)、C-Scan和C-Look,通过比较它们在不同运行中的磁头移动情况。

什么是SSTF磁盘调度算法

SSTF代表最短寻道时间优先。该算法为距离当前磁头或指针位置最近的任务请求提供服务。在这里,磁头的方向对确定总寻道时间起着重要作用。如果请求之间发生并列,则磁头将为其遇到的请求提供服务,并按其正在进行的方向执行。与C-LOOK不同,SSTF算法在总寻道时间上非常有效。

在SSTF中,先执行具有最短寻道时间的请求。因此,每个请求的寻道时间都提前在队列中计算,并根据其计算的寻道时间进行调度。结果是,磁臂附近的请求将被首先执行。SSTF绝对是FCFS的一种改进,因为它减少了平均响应时间并增加了系统的吞吐量。

这是一个对于批量处理系统的合理解决方案。有时,它不能确保公平性,因为在这种调度方式下,饥饿是可能的。这种策略通常不适用于交互式系统,并且会导致响应时间的较大差异。

示例

在这种情况下,请求根据下一个最短距离进行服务。

操作系统 SSTF和LOOK磁盘调度算法的区别

从50开始,下一个最短距离是62而不是34,因为它与62之间只有12个磁道的距离,而与34之间有16个磁道的距离。该过程将一直持续,直到处理完所有流程。例如,下一个案例将从62移动到64而不是34,因为它们之间只有2个磁道的距离,而不是如果从另一个方向走则有18个磁道的距离。

虽然这似乎是更好的服务,因为它移动了236个磁道,但它并不是最优的。有很大的机会发生饥饿,这是因为如果有很多请求彼此接近,其他请求将永远得不到处理,因为距离总是更大。

优点

以下是SSTF磁盘调度算法的优点,例如:

  • 相比FCFS,它减少了总寻道时间。
  • 它提供了增加的吞吐量。
  • 它提供了更小的平均响应时间和等待时间。

缺点

SSTF磁盘调度算法也有以下缺点,例如:

  • 查找最近请求的开销较大。
  • 距离磁头较远的请求可能会因为处于饥饿状态而无法获得处理。
  • 它提供了较高的响应时间和等待时间方差。
  • 频繁切换磁头方向会降低算法速度。

什么是LOOK磁盘调度算法

LOOK算法实际上是SCAN算法的改进版本。在此算法中,磁头从磁盘的一侧开始,并通过服务于磁头之间的所有请求向另一端移动。与SCAN不同,磁头不会走到最后一个磁道,而是走到最后一个请求,然后改变方向。与SSTF不同,它不会服务于距离当前磁头或指针位置最近的任务请求。

它类似于SCAN磁盘调度算法,唯一的区别是磁臂不会去到磁盘的末端,而只会到磁头前的最后一个待服务请求,然后从那里改变方向。因此,它防止了由于不必要地遍历整个磁盘所导致的额外延迟。SCAN算法和LOOK算法之间的主要区别是:

  • SCAN算法从一端开始扫描磁盘的所有柱面,即使两端没有请求。
  • LOOK算法从一端的第一个请求扫描磁盘的所有柱面,直到另一端的最后一个请求。

示例

假设一个磁盘有200个磁道(0-199),磁盘队列按照以下顺序具有I/O请求:98、183、40、122、10、124和65。

读/写磁头的当前位置是53,并且将向右移动。使用LOOK算法计算读/写磁头的总磁道移动数。

操作系统 SSTF和LOOK磁盘调度算法的区别

Total head movements,
= (65-53) + (98-65) + (122-98) + (124-122) + (183-124) + (183-40) + (40-10)
= 303 

LOOK磁盘调度算法的优点

以下是LOOK磁盘调度算法的优点,例如:

  • 当没有要服务的请求时,它不会使磁头移动到磁盘的两端。
  • 相比SCAN算法,它提供更好的性能。
  • 它不会导致饥饿现象。
  • 它提供了较低的响应时间和等待时间的方差。

LOOK磁盘调度算法的缺点

LOOK磁盘调度算法也有一些缺点,例如:

  • 查找最后一个请求的开销较大。
  • 它导致刚访问过的柱面的等待时间很长。

SSTF与LOOK磁盘调度算法的区别

以下是SSTF和LOOK磁盘调度算法之间的区别:

SSTF磁盘调度算法 LOOK磁盘调度算法
SSTF磁盘调度算法性能较差。 LOOK磁盘调度算法的性能优于SSTF。
相比LOOK磁盘调度算法,它减少了总寻道时间。 LOOK磁盘调度算法增加了总寻道时间。
该算法的平均响应时间和等待时间变化大。 它提供了平均等待时间和响应时间的低方差。
如上例所示,磁头的方向在处理请求之间起到了重要作用。 在LOOK磁盘调度算法中,当磁头服务于一个方向的最后一个请求时,磁头的方向会反转。
在SSTF磁盘调度算法中,查找最接近的请求会增加额外开销。 在该算法中,查找终点请求会增加额外开销。
在SSTF磁盘调度算法中,距离磁头较远的请求会遭受饥饿。 LOOK磁盘调度算法不会导致任何请求饥饿。
在SSTF磁盘调度算法中,对请求的处理不如LOOK算法好。 LOOK磁盘调度算法可以比SSTF更有效地处理请求。
SSTF调度的吞吐量比FCFS策略高,响应时间较低。 这种调度的主要优点是,它只执行足够大以服务所有请求的扫描。通过避免不必要的寻道操作,它提高了效率,并具有高吞吐量。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程