本文聚焦的是機械硬盤,即傳統(tǒng)的電機驅(qū)動的大容量磁盤搬俊。像固態(tài)硬盤都是基于集成電路,這里不會做延伸飘痛。
一、組成部分
一個機械硬盤由下面五個部分組成(這里只包含核心部分,像金屬介質(zhì)喂链、磁化材料不會涉及)
- 盤片
- 磁頭
- 磁道
- 扇區(qū)
- 柱面
二画恰、盤片
硬盤中一般會有多個盤片組成,每個盤片包含兩個面删豺,每個盤面都對應(yīng)地有一個讀/寫磁頭共虑。受到硬盤整體體積和生產(chǎn)成本的限制,盤片數(shù)量都受到限制呀页,一般都在5片以內(nèi),但隨著機械硬盤越來越大,盤片也有上百的,具體數(shù)量取決于硬盤廠商妈拌。盤片的編號自下向上從0開始,如最下邊的盤片有0面和1面,再上一個盤片就編號為2面和3面尘分。
三猜惋、扇區(qū)、磁道
下圖顯示的是一個盤面培愁,盤面中一圈圈灰色同心圓為一條條磁道著摔,從圓心向外畫直線,可以將磁道劃分為若干個弧段定续,每個磁道上一個弧段被稱之為一個扇區(qū)(圖踐綠色部分)谍咆。扇區(qū)是磁盤的最小組成單元,通常是512字節(jié)私股。(由于不斷提高磁盤的大小摹察,部分廠商設(shè)定每個扇區(qū)的大小是4096字節(jié))
四、磁頭倡鲸、柱面
硬盤通常由重疊的一組盤片構(gòu)成供嚎,每個盤面都被劃分為數(shù)目相等的磁道,并從外緣的“0”開始編號旦签,具有相同編號的磁道形成一個圓柱查坪,稱之為磁盤的柱面。柱面宁炫,其實是個“虛”的東西偿曙!它是分開的。物理上不是一體的羔巢。只是在空間上望忆,它類似于一個桶的桶壁一樣。磁盤的柱面數(shù)與一個盤面上的磁道數(shù)是相等的竿秆。由于每個盤面都有自己的磁頭启摄,因此,盤面數(shù)等于總的磁頭數(shù)幽钢。 如下圖
五歉备、磁盤容量計算
存儲容量 = 磁頭數(shù) × 磁道(柱面)數(shù) × 每道扇區(qū)數(shù) × 每扇區(qū)字節(jié)數(shù)
圖3中磁盤是一個 3個圓盤6個磁頭,7個柱面(每個盤片7個磁道) 的磁盤匪燕,圖3中每條磁道有12個扇區(qū)蕾羊,所以此磁盤的容量為:
存儲容量 6 * 7 * 12 * 512 = 258048
每個磁道的扇區(qū)數(shù)一樣是說的老的硬盤,外圈的密度小帽驯,內(nèi)圈的密度大龟再,每圈可存儲的數(shù)據(jù)量是一樣的。新的硬盤數(shù)據(jù)的密度都一致尼变,這樣磁道的周長越長利凑,扇區(qū)就越多,存儲的數(shù)據(jù)量就越大。
六哀澈、磁盤讀取響應(yīng)時間
尋道時間:磁頭從開始移動到數(shù)據(jù)所在磁道所需要的時間牌借,尋道時間越短,I/O操作越快割按,目前磁盤的平均尋道時間一般在3-15ms走哺,一般都在10ms左右。
旋轉(zhuǎn)延遲:盤片旋轉(zhuǎn)將請求數(shù)據(jù)所在扇區(qū)移至讀寫磁頭下方所需要的時間哲虾,旋轉(zhuǎn)延遲取決于磁盤轉(zhuǎn)速丙躏。普通硬盤一般都是7200rpm,慢的5400rpm束凑。
數(shù)據(jù)傳輸時間:完成傳輸所請求的數(shù)據(jù)所需要的時間晒旅。
小結(jié)一下:從上面的指標來看、其實最重要的汪诉、或者說废恋、我們最關(guān)心的應(yīng)該只有兩個:尋道時間;旋轉(zhuǎn)延遲扒寄。
讀寫一次磁盤信息所需的時間可分解為:尋道時間鱼鼓、延遲時間、傳輸時間该编。為提高磁盤傳輸效率迄本,軟件應(yīng)著重考慮減少尋道時間和延遲時間。
總結(jié)
雖然知道了機械硬盤的大致組成結(jié)構(gòu),但是要回答下面幾個問題,還是比較難的,需要進行更深入的研究:
- 磁盤柱面是用來干嘛的?
- 磁盤轉(zhuǎn)速高為啥會讀取文件更快呢课竣? 轉(zhuǎn)速越高,尋道時間就越短?
- 操作系統(tǒng)是如何確定一個文件存在在多個扇區(qū)的? 根據(jù)(柱面,盤面號,扇區(qū)號)來唯一確認一塊存儲?