海量存储管理
磁盘是主要使用的海量存储设备。它们构成了当今操作系统中大部分的辅助存储。
磁盘结构
每个现代磁盘都包含同心圆轨道,每个轨道又细分为多个扇区。磁盘通常排列为一维块数组,其中块是最小的存储单元。块也可以称为扇区。对于磁盘的每个表面,都提供了一个读/写磁头。所有表面上的相同轨道称为柱面。
磁盘调度
许多磁盘调度算法可以为磁盘的各种请求提供总寻道量。以下是磁盘调度算法的类型:
所有这些算法都使用以下磁盘请求进行解释:
10,95,23,78,80
先来先服务调度 (FCFS)
在先来先服务调度中,请求按其到达顺序进行服务。此算法是公平的,因为它允许所有请求都有机会,但它不能提供最快可能的服务。下面给出了 FCFS 调度的示例:
在上面的示例中,请求按其出现的顺序进行服务,即 10、95、23、78、80。寻道磁头最初位于 50 位置,并从那里开始。
最短寻道时间优先调度
在最短寻道时间优先调度算法中,最靠近当前磁头的请求将在移开之前优先服务。SSTF 算法的一个问题是它可能会导致某些请求出现饥饿现象。下面给出了最短寻道时间优先调度的示例:
在上面的示例中,请求按 23、10、78、80、95 的顺序进行服务。寻道磁头最初位于 50 位置,并从那里开始。23 最接近 50,因此它首先被服务。然后,10 比 78 更接近 23,因此它接下来被服务。之后,服务 78、80 和 95。
SCAN 调度
在此调度算法中,磁头在一个方向上移动,同时为该方向上的所有请求提供服务,直到到达磁盘的末尾。之后,它开始向另一个方向移动。这样,磁头在磁盘上连续地来回扫描。下面给出了 SCAN 调度的示例:
在上面的示例中,请求按 23、10、78、80、95 的顺序进行服务。磁头最初位于 50 位置,并向左移动,同时服务请求 23 和 10。当它到达磁盘的末尾时,它开始向右移动并按出现顺序服务 78、80 和 95。
LOOK 调度
LOOK 调度算法类似于 SCAN 调度,但它是 SCAN 调度的实用版本。在此算法中,磁头在一个方向上移动,同时为该方向上的所有请求提供服务,直到到达最后一个请求。之后,它开始向另一个方向移动。下面给出了 LOOK 调度的示例:
在上面的示例中,请求按 23、10、78、80、95 的顺序进行服务。磁头最初位于 50 位置,并向左移动,同时服务请求 23 和 10。当它到达左侧的最后一个请求(即 10)时,它开始向右移动并按出现顺序服务 78、80 和 95。