海量存储管理


磁盘是主要使用的海量存储设备。它们在当今的操作系统中提供了大部分的辅助存储。

磁盘结构

每个现代磁盘都包含同心圆轨道,每个轨道都分成多个扇区。磁盘通常被组织成一维的块数组,其中块是最小的存储单元。块也可以称为扇区。对于磁盘的每个表面,都有一个读/写磁头可用。所有表面上的相同轨道称为柱面。

磁盘调度

有很多磁盘调度算法可以为磁盘的各种请求提供总的磁头移动量。以下是磁盘调度算法的类型:

Disk Scheduling Algorithms

所有这些算法都是使用以下对磁盘的请求进行解释的:

10,95,23,78,80

先来先服务调度 (FCFS)

在先来先服务调度中,请求按其到达的顺序进行服务。该算法是公平的,因为它允许所有请求都有机会,但它不提供最快的服务。下面给出了 FCFS 调度的示例:

在上面的示例中,请求按其出现的顺序进行服务,即 10、95、23、78、80。寻道磁头最初位于 50,并从那里开始。

最短寻道时间优先调度

在最短寻道时间优先调度算法中,最靠近当前磁头的请求会在移开之前先得到服务。SSTF 算法的一个问题是它可能会导致某些请求出现饥饿。下面给出了最短寻道时间优先调度的示例:

SSTF Disk Scheduling

在上面的示例中,请求按 23、10、78、80、95 的顺序进行服务。寻道磁头最初位于 50,并从那里开始。23 最靠近 50,因此它首先得到服务。然后 10 比 78 更靠近 23,因此它接下来得到服务。在此之后,78、80 和 95 得到服务。

SCAN 调度

在此调度算法中,磁头在一个方向上移动,同时服务该方向上的所有请求,直到到达磁盘的末端。之后,它开始向另一个方向移动。这样,磁头就会持续地在磁盘上扫描来回移动。下面给出了 SCAN 调度的示例:

Disk Scheduling

在上面的示例中,请求按 23、10、78、80、95 的顺序进行服务。磁头最初位于 50,并向左移动,同时服务请求 23 和 10。当它到达磁盘的末端时,它开始向右移动,并按出现顺序服务 78、80 和 95。

LOOK 调度

LOOK 调度算法类似于 SCAN 调度,但它是其实用版本。在此算法中,磁头在一个方向上移动,同时服务该方向上的所有请求,直到到达最后一个请求。之后,它开始向另一个方向移动。下面给出了 LOOK 调度的示例:

LOOK Disk Scheduling

在上面的示例中,请求按 23、10、78、80、95 的顺序进行服务。磁头最初位于 50,并向左移动,同时服务请求 23 和 10。当它到达左侧的最后一个请求(即 10)时,它开始向右移动,并按出现顺序服务 78、80 和 95。

更新于: 2020-06-22

7K+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告