🚀 四種硬碟排班演算法 (SCAN, LOOK, C-SCAN, C-LOOK) 對比
在作業系統中,硬碟排班 (Disk Scheduling) 的目標是減少磁頭移動的總距離,以縮短磁軌請求的總服務時間。其中,面對 SCAN、LOOK 及其循環變體 C-SCAN 與 C-LOOK,許多初學者常感到混淆。本文透過「服務方向」與「回頭策略」兩個維度,將其整理為 2x2 表格,幫助大家一目瞭然。📖
|
🎯 回頭策略 (磁頭移動方向的回轉時機) |
|||
|---|---|---|---|
|
🏁 軌道兩端終點 (遇磁軌編號 0 或 Max) |
👀 目前方向最後請求 (Look-ahead) |
||
| 🛠️ 服務方向 |
↔️ 雙向服務 (上下行方向皆提供服務) |
🏗️ SCAN運作: 磁頭來回服務。不論有無請求,皆須到達磁碟實體邊緣才轉向。
※ 特色:每層都巡,且坐到底。
|
🔎 LOOK運作: 磁頭來回服務。若目前方向前方已無請求,即刻轉向。
※ 特色:上方沒人按就不會坐到頂。又稱電梯演算法。
|
|
🔄 單向循環 (限定上行或下行才提供服務) |
🎡 C-SCAN運作: 僅單向服務。到達物理端點後立即跳回起點,跳轉期間不服務。
※ 特色: 確保所有軌道請求的等待時間均勻一致。
|
✨ C-LOOK運作: 僅單向服務。服務完最後請求後,即跳回另一端首個請求。
※ 特色:結合公平性與高效率,實務最推薦。
|
|
📊 小結
- 回頭策略差異: 端點模式 (SCAN 系列) 邏輯簡單,雖有空跑現象,但適合重負載均勻分布情形;最後請求模式 (LOOK 系列) 效率較高。
- 服務方向差異: 雙向服務會出現中間磁軌的掃描頻率高於兩端;單向循環 (C 系列) 則提供了最佳的「公平性」。
沒有留言:
張貼留言