海量存储管理


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

磁盘结构

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

磁盘调度

许多磁盘调度算法可以为磁盘的各种请求提供总寻道量。以下是磁盘调度算法的类型:

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 调度,但它是 SCAN 调度的实用版本。在此算法中,磁头在一个方向上移动,同时为该方向上的所有请求提供服务,直到到达最后一个请求。之后,它开始向另一个方向移动。下面给出了 LOOK 调度的示例:

LOOK Disk Scheduling

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

更新于:2020年6月22日

7K+ 次查看

开启你的职业生涯

完成课程获得认证

开始学习
广告