磁盤的結構與參數html
這裏講的主要是網上所謂的老式磁盤,它是由一個個盤片組成的,咱們先從個盤片結構講起。如圖1所示,圖中的一圈圈灰色同心圓爲一條條磁道,從圓心向外畫直線,能夠將磁道劃分爲若干個弧段,每一個磁道上一個弧段被稱之爲一個扇區(圖踐綠色部分)。扇區是磁盤的最小組成單元,一般是512字節。緩存
圖1 老式磁盤一個盤片的結構 app
圖2 老式磁盤的總體結構 優化
圖2展現了由一個個盤片組成的磁盤立體結構,一個盤片上下兩面都是可讀寫的,圖中藍色部分叫柱面(cylinder)。spa
磁盤的常見參數以下:翻譯
磁頭(head)、磁道(track)、柱面(cylinder)、扇區(sector)、圓盤(platter)3d
存儲容量 = 磁頭數 × 磁道(柱面)數 × 每道扇區數 × 每扇區字節數 htm
圖2中磁盤容量 = 6*7*12*512KB = 258 048KB = 252Mblog
下面講一下現代磁盤,在老式磁盤中,儘管磁道周長不一樣,但每一個磁道上的扇區數是相等的,越往圓心扇區弧段越短,但其存儲密度越高。不過這種方式顯然比較浪費空間,所以現代磁盤則改成等密度結構,這意味着外圍磁道上的扇區數量要大於內圈的磁道,尋址方式也改成以扇區爲單位的線性尋址。爲了兼容老式的3D尋址方式,現代磁盤控制器中都有一個地址翻譯器將 3D 尋址參數翻譯爲線性參數。get
圖3 一張Linux的分區表
如圖3所示,在Linux中是以柱面爲單位來分區的。這裏分區大小除以Blocks數的值約1024說明,在磁盤上讀寫時的最小單位是1024字節----這是我猜的。
存取時間 = 尋道時間 + 等待時間 (平均定位時間+轉動延遲)
尋道時間是指磁頭移動到軌道所需的時間,等待時間爲等待讀寫的扇區轉到磁頭下方所用的時間
栗子1
解析:爲了助於理解,畫圖以下
該磁盤分爲11個扇區,因旋轉週期33ms,即通過每個扇區耗時3ms,從R0開始,到R0結束,須要3秒,讀取完畢後,放入單緩存區處理這些數據,通過3秒處理完畢,此時磁頭已經處在R1結束位置,此時耗時(3ms+3ms);判斷是否讀取完畢,沒有讀取完繼續,通過10個扇區,到R1開始位置,耗時30秒,開始讀取至讀取完畢,耗時6秒,判斷是否讀取完畢,沒有讀取完繼續,一直到R11處理完畢。結束!!
總耗時爲 :
(3ms+3ms)+(30ms+3ms+3ms)*10 =366ms
優化後,做圖以下:
優化後,R0從開始處處理完畢,耗時6ms, 此時已到R1位置,繼續讀取處理R1,耗時6ms,一直到R10,
優化後耗時:
(3ms + 3ms)*11 = 66ms
參考博客 http://www.cnblogs.com/joydinghappy/articles/2511948.html