海量儲存管理
磁碟是主要使用的海量儲存裝置。它們構成了當今作業系統中大部分的輔助儲存。
磁碟結構
每個現代磁碟都包含同心圓軌道,每個軌道又細分為多個扇區。磁碟通常排列為一維塊陣列,其中塊是最小的儲存單元。塊也可以稱為扇區。對於磁碟的每個表面,都提供了一個讀/寫磁頭。所有表面上的相同軌道稱為柱面。
磁碟排程
許多磁碟排程演算法可以為磁碟的各種請求提供總尋道量。以下是磁碟排程演算法的型別:
所有這些演算法都使用以下磁碟請求進行解釋:
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。