📜  SCAN 和 LOOK 磁盘调度算法的区别(1)

📅  最后修改于: 2023-12-03 15:19:59.189000             🧑  作者: Mango

SCAN和LOOK磁盘调度算法的区别

磁盘调度算法是指操作系统用来管理磁盘I/O请求的一种技术。其中两种常见的算法是SCAN和LOOK算法。下面我们将详细介绍这两种算法的区别。

SCAN算法

SCAN算法又称为电梯算法。这种算法模拟电梯上下行的过程,磁盘的磁头在一次遍历磁道时只向一个方向移动,直到到达磁盘的边界,然后再掉头,向另一个方向移动。磁盘I/O请求被分为两类:

  • 向外移动的请求,即请求的磁道号比当前磁头所在的磁道号大。
  • 向内移动的请求,即请求的磁道号比当前磁头所在的磁道号小。

SCAN算法将所有的I/O请求按磁道号从小到大排序,然后按照磁头的移动方向依次执行。当磁头到达磁盘的边界时,SCAN算法会改变移动方向,然后继续执行到最后一个磁道。

LOOK算法

与SCAN算法不同的是,LOOK算法在到达磁盘边界时不会直接掉头,而是返回到磁盘边界之前的最后一个I/O请求所在的磁道,并改变移动方向。这样做的好处是可以减少磁盘I/O请求的等待时间,提高磁盘的利用率。

与SCAN算法一样,LOOK算法也将所有的I/O请求按磁道号从小到大排序,然后按照磁头的移动方向依次执行。当磁头到达请求序列的最后一个磁道时,LOOK算法会返回到请求序列的第一个磁道,并再次改变移动方向,依次执行请求序列中的磁盘I/O请求。

总结

SCAN和LOOK算法是两种常见的磁盘调度算法。SCAN算法模拟电梯上下行的过程,而LOOK算法则在到达磁盘边界时返回到请求序列的最后一个磁道,并改变移动方向。两种算法的差别在于LOOK算法可以减少磁盘I/O请求的等待时间,提高磁盘的利用率。