硬盤基本知識(磁頭、磁道、扇區、柱面)

概述

  1. 盤片(platter)
  2. 磁頭(head)
  3. 磁道(track)
  4. 扇區(sector)
  5. 柱面(cylinder)

盤片 片面 和 磁頭

硬盤中一般會有多個盤片組成,每個盤片包含兩個面,每個盤面都對應地有一個讀/寫磁頭。受到硬盤整體體積和生產成本的限制,盤片數量都受到限制,一般都在5片以內。盤片的編號自下向上從0開始,如最下邊的盤片有0面和1面,再上一個盤片就編號爲2面和3面。
如下圖:
圖1

扇區 和 磁道

下圖顯示的是一個盤面,盤面中一圈圈灰色同心圓爲一條條磁道,從圓心向外畫直線,可以將磁道劃分爲若干個弧段,每個磁道上一個弧段被稱之爲一個扇區(圖踐綠色部分)。扇區是磁盤的最小組成單元,通常是512字節。(由於不斷提高磁盤的大小,部分廠商設定每個扇區的大小是4096字節)

圖2

磁頭 和 柱面

硬盤通常由重疊的一組盤片構成,每個盤面都被劃分爲數目相等的磁道,並從外緣的“0”開始編號,具有相同編號的磁道形成一個圓柱,稱之爲磁盤的柱面。磁盤的柱面數與一個盤面上的磁道數是相等的。由於每個盤面都有自己的磁頭,因此,盤面數等於總的磁頭數。 如下圖
圖3

磁盤容量計算

存儲容量 = 磁頭數 × 磁道(柱面)數 × 每道扇區數 × 每扇區字節數

圖3中磁盤是一個 3個圓盤6個磁頭,7個柱面(每個盤片7個磁道) 的磁盤,圖3中每條磁道有12個扇區,所以此磁盤的容量爲:

存儲容量 6 * 7 * 12 * 512 = 258048

每個磁道的扇區數一樣是說的老的硬盤,外圈的密度小,內圈的密度大,每圈可存儲的數據量是一樣的。新的硬盤數據的密度都一致,這樣磁道的周長越長,扇區就越多,存儲的數據量就越大。

磁盤讀取響應時間

  1. 尋道時間:磁頭從開始移動到數據所在磁道所需要的時間,尋道時間越短,I/O操作越快,目前磁盤的平均尋道時間一般在3-15ms,一般都在10ms左右。
  2. 旋轉延遲:盤片旋轉將請求數據所在扇區移至讀寫磁頭下方所需要的時間,旋轉延遲取決於磁盤轉速。普通硬盤一般都是7200rpm,慢的5400rpm。
  3. 數據傳輸時間:完成傳輸所請求的數據所需要的時間。
    小結一下:從上面的指標來看、其實最重要的、或者說、我們最關心的應該只有兩個:尋道時間;旋轉延遲。

讀寫一次磁盤信息所需的時間可分解爲:尋道時間、延遲時間、傳輸時間。爲提高磁盤傳輸效率,軟件應着重考慮減少尋道時間和延遲時間。

塊/簇

概述

磁盤塊/簇(虛擬出來的)。 塊是操作系統中最小的邏輯存儲單位。操作系統與磁盤打交道的最小單位是磁盤塊。
通俗的來講,在Windows下如NTFS等文件系統中叫做簇;在Linux下如Ext4等文件系統中叫做塊(block)。每個簇或者塊可以包括2、4、8、16、32、64…2的n次方個扇區。

爲什麼存在磁盤塊?

讀取方便:由於扇區的數量比較小,數目衆多在尋址時比較困難,所以操作系統就將相鄰的扇區組合在一起,形成一個塊,再對塊進行整體的操作。

分離對底層的依賴:操作系統忽略對底層物理存儲結構的設計。通過虛擬出來磁盤塊的概念,在系統中認爲塊是最小的單位。

page

操作系統經常與內存和硬盤這兩種存儲設備進行通信,類似於“塊”的概念,都需要一種虛擬的基本單位。所以,與內存操作,是虛擬一個頁的概念來作爲最小單位。與硬盤打交道,就是以塊爲最小單位。

扇區、塊/簇、page的關係

  1. 扇區: 硬盤的最小讀寫單元
  2. 塊/簇: 是操作系統針對硬盤讀寫的最小單元
  3. page: 是內存與操作系統之間操作的最小單元。

扇區 <= 塊/簇 <= page


想了解更多精彩內容請關注我的公衆號

本人簡書blog地址:http://www.jianshu.com/u/1f0067e24ff8    
點擊這裏快速進入簡書

GIT地址:http://git.oschina.net/brucekankan/
點擊這裏快速進入GIT

發佈了132 篇原創文章 · 獲贊 79 · 訪問量 40萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章