海量儲存管理


磁碟是主要使用的海量儲存裝置。它們構成了當今作業系統中大部分的輔助儲存。

磁碟結構

每個現代磁碟都包含同心圓軌道,每個軌道又細分為多個扇區。磁碟通常排列為一維塊陣列,其中塊是最小的儲存單元。塊也可以稱為扇區。對於磁碟的每個表面,都提供了一個讀/寫磁頭。所有表面上的相同軌道稱為柱面。

磁碟排程

許多磁碟排程演算法可以為磁碟的各種請求提供總尋道量。以下是磁碟排程演算法的型別:

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+ 次檢視

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告