C-LOOK 與 C-SCAN 磁碟排程演算法


在計算機系統中,**磁碟排程**對於系統的平穩執行至關重要。磁碟排程由計算機的作業系統執行,它對到達磁碟的 I/O 請求進行排程。因此,磁碟排程也稱為**I/O 排程**。在計算機系統中,磁碟排程或 I/O 排程非常重要,因為可能有多個來自不同程序的 I/O 請求同時到達,但磁碟控制器一次只能處理一個請求,其他所有請求都必須等待下一次排程。

在作業系統中,使用了多種磁碟排程演算法,例如 FCFS(先來先服務)、SSTF(最短尋道時間優先)、SCAN、C-SCAN(迴圈 SCAN)、LOOK、CLOOK(迴圈 LOOK)、N-STEP SCAN 和 FSCAN。

什麼是 C-LOOK 演算法?

**C-LOOK** 是一種磁碟排程演算法。**C-LOOK** 代表**迴圈查詢**。C-LOOK 演算法是 LOOK 演算法的改進版本。在 C-LOOK 演算法中,磁頭從一個方向的第一個請求開始移動,並向另一個方向的最後一個請求移動。在此期間,它服務於起始端和結束端之間的所有請求。當磁頭到達一個方向的最後一個請求時,它跳到另一個方向,並開始向剩餘的請求移動。因此,它滿足了所有請求。

讓我們用一個例子來理解 C-LOOK 演算法。假設一個磁碟有 200 個磁軌,從 0 到 199,磁碟 I/O 請求佇列如下所示:

(24, 92, 130, 45, 185)

假設磁頭的當前位置在 99 號。因此,磁頭將從 99 移動到 92,因為在移動到另一端時 92 位於它的路徑上,然後從 92 移動到 45,然後從 45 移動到 24,然後從 24 移動到 185,最後從 185 移動到 130。

因此,磁頭總共移動的磁軌數為:

= | (99 - 92) | + | (92 - 45) | + | (45 - 24) | + | (24 - 185) | + | (185 - 130) | = 7 + 47 + 21 + 161 + 55 = **291 個磁軌**

因此,平均磁頭移動的磁軌數為:

= 291 / 5 = **58.2 個磁軌**

現在,讓我們討論 C-SCAN 演算法的基礎知識。

什麼是 C-SCAN 演算法?

**C-SCAN 演算法**代表**迴圈掃描演算法**。它也稱為**迴圈電梯演算法**或**單向電梯演算法**。C-SCAN 演算法基本上是 SCAN 演算法的改進版本。C-SCAN 演算法之所以這樣命名,是因為它將磁軌視為一個迴圈列表。

在 C-SCAN 演算法中,磁頭從最內層磁軌移動到最外層磁軌,滿足中間的所有請求。當磁頭到達最外層磁軌時,它返回到最內層磁軌而不滿足任何請求,然後從內層到外層再次開始掃描。

C-SCAN 演算法提供均勻的等待時間和更好的響應時間。但它需要更多的尋道次數。此外,即使沒有必要,它也會導致磁頭掃描到磁碟的末尾。

C-LOOK 和 C-SCAN 磁碟排程演算法的區別

下表突出顯示了 C-LOOK 和 C-SCAN 磁碟排程演算法之間所有重要的區別:

關鍵 C-LOOK C-SCAN
全稱 C-LOOK 代表迴圈查詢。 C-SCAN 代表迴圈掃描。
描述 在 C-LOOK 磁碟排程演算法中,磁頭從一個方向的第一個請求開始移動,並向另一個方向的最後一個請求移動。 在 C-SCAN 磁碟排程演算法中,磁頭從最內層磁軌移動到最外層磁軌,滿足中間的所有請求。
效能 在所有磁碟排程演算法中,C-LOOK 磁碟排程演算法的效能最佳。 與 C-LOOK 相比,C-SCAN 演算法的效能相對較差。
請求處理 C-LOOK 演算法能夠更有效地處理請求。 與 C-LOOK 相比,C-SCAN 演算法在處理請求方面效率較低。
等待時間 C-LOOK 演算法的等待時間略有差異。 C-SCAN 演算法提供均勻的等待時間。
響應時間 C-LOOK 演算法的響應時間存在一些差異。 C-SCAN 演算法提供均勻的響應時間。
尋道時間 C-LOOK 演算法的尋道時間更短。 C-SCAN 演算法的尋道時間比 C-LOOK 更長。
磁碟掃描方向 C-LOOK 演算法僅在一個方向上掃描整個磁碟。 C-SCAN 演算法按照磁碟臂移動的方向掃描磁碟請求。
效率 C-LOOK 是相對更高效的演算法。 C-SCAN 是一種效率較低的演算法。

結論

C-LOOK 和 C-SCAN 演算法的主要區別在於,C-SCAN 演算法在一個方向上掃描請求,而 C-LOOK 演算法按照磁碟臂移動的方向掃描請求。

更新於: 2023年3月13日

3K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.