操作系統---磁盤


磁盤的結構

磁盤, 磁道, 扇區

磁盤的表面由一些磁性物質組成, 可以用這些磁性物質來記錄二進制數據

磁道 : 磁盤的盤面被划分成一個個磁道, 一個圈就是一個磁道

扇區 : 每一個磁道被划分成一個個扇區, 每個扇區就是一個個 " 數據塊 ", 各個扇區存放的數據量相同

( 最內側磁道上的扇區面積最小, 因此數據密度最大 )

1592481581941

數據的讀寫

1592481686378

盤面, 柱面

1592481738363

如何根據地址讀取一個塊 :
1592481828363

磁盤的分類

根據磁頭是否可以移動 :

  1. 活動頭磁盤

    1592481879181

  2. 固定頭磁盤

1592481886608

根據盤片是否可以更換 :

  1. 固定盤磁盤
  2. 可換盤磁盤

磁盤調度算法 ( 尋道時間 )

一次讀 / 寫操作所需要的時間

graph LR A[一次讀/寫操作所需要的時間]---B[尋道時間] A---C[延遲時間] A---D[傳輸時間]

尋找時間 (尋道時間)

在讀 / 寫數據之前, 把磁頭移動到指定磁道所花的時間

  • 啟動磁頭臂的時間
  • 移動磁頭的時間

延遲時間

通過旋轉磁盤, 使磁頭定位到目標扇區所需要的時間

傳輸時間

由磁盤讀出 或 向磁盤寫入數據所需要的時間

磁盤調度算法會直接影響尋道時間

先來先服務算法 FCFS

根據進程請求訪問磁盤的先后順序進行調度

1592482618308

最短尋找時間優先 SSTF

SSTF算法會優先處理的磁道是離當前磁頭最近的磁道, 可以保證每一次的尋道時間最短, 但是並不能保證總體尋道時間最短 ( 貪心 )

1592482781292

  • 可能產生 飢餓 現象

1592482835531

掃描算法 SCAN ( 電梯算法 )

SSTF算法產生飢餓的原因 : 磁頭可能會在一個小區域內來回移動

SCAN :

只有磁頭移動到最外側磁道的時候才能往內移動, 移動到最內側磁道的時候才能往外移動

LOOK調度算法 ( SCAN的改進 )

在掃描算法的基礎上增加 :

如果在磁頭移動方向上已經沒有別的請求, 就可以立即改變磁頭移動方向

循環掃描算法 C-SCAN

SCAN算法對於各個位置磁道的響應頻率不平均, C-SCAN算法就是為了解決這個問題, 規定只有磁頭朝特定方向移動時才處理磁道訪問請求, 而返回時 直接快速移動至起始端而不處理任何情況

C-LOOK 調度算法

C-LOOK = C-SCAN + LOOK

1592483522032

總結

1592483577773

減少磁盤 ( 延遲時間 ) 的辦法

延遲時間 : 把目標扇區轉動到磁頭下所花的時間

由於磁頭讀入一個扇區數據后需要一小段時間處理, 如果邏輯上相鄰的扇區在物理上也相鄰, 則讀入幾個連續的邏輯扇區, 可能需要很長的 " 延遲時間 ".

交替編號

采用交替編號的策略, 讓邏輯上相鄰的扇區在物理上有一定的間隔, 可以使讀取連續的邏輯扇區所需要的延遲時間更小

錯位命名

將盤面之間的扇區不同樣按順序編號

而是使用0號盤面的1號扇區下是1號盤面的4號扇區....這樣的方式

這樣使得讀取完磁盤塊之后還有一段時間處理, 從而減少了延遲時間

磁盤地址結構的設計

采用 ( 柱面號, 盤面號, 扇區號 )--- 三維, 二維, 一維

磁盤管理

磁盤初始化

  1. 進行低級格式化 ( 物理格式化 ), 將磁盤的各個磁道划分為扇區, 一個扇區通常可分為頭, 數據區, 尾三個部分. 管理扇區所需要的各種數據結構 ( 校驗碼等 )一般存放在頭, 尾兩個部分
  2. 磁盤分區 , 每個分區由若干柱面組成
  3. 進行邏輯格式化, 創建文件系統. 包括創建文件系統的根目錄, 初始化

磁盤的引導塊

計算機開機時需要進行一系列初始化的工作, 這些初始化工作是通過執行初始化程序 (自舉程序) 完成的.

初始化程序 ( 自舉程序 ) 如果直接放在ROM中, 會很不方便, 因為ROM中的數據無法更改, 解決方法 :

  1. ROM中只存放很小的 " 自舉裝入程序 "

  2. 開機時計算機先運行 " 自舉裝入程序 ", 通過執行該程序就可以找到引導塊, 並將完整的" 自舉程序 " 讀入內存, 完成初始化

壞塊的管理

對於簡單的磁盤 ,可以在邏輯格式化時, 對磁盤進行壞塊檢查, 表明哪些扇區是壞扇區. 這種處理方式中, 壞塊對操作系統不透明

對於復雜的磁盤 , 磁盤控制器 ( 磁盤設備內部的一個硬件部件 ) 會維護一個壞塊鏈表. 在磁盤出廠前進行低級格式化時就將壞塊鏈進行初始化. 會保留一些 " 備用扇區 " 用於替換壞塊. 這種方案稱為扇區備用 . 這種處理方式中, 壞塊對操作系統透明.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM