回覆列表
  • 1 # 使用者1796234470696

    磁碟結構介紹

    磁碟結構簡介再來看下訪問時間,主要有三個部分:1. 尋道時間,為讀取某個目標扇區的內容,傳動臂首先將磁頭定位到包含目標扇區的磁軌上,這個過程花費的時間即為尋道時間。平均值 3 ~ 9 ms,最大可至 20 ms。2. 旋轉延遲,磁頭定位到目標磁軌後,驅動器等待目標扇區的第一個位旋轉到磁頭下,這個過程如果是 5400 轉的磁碟,平均大概為 5 ms。3. 傳送時間,當目標扇區的第一個位位於磁頭下,到訪問完所有資料花費的時間,如果資料量為一個扇區的容量,這個時間取決於旋轉速度和每個磁軌的扇區數目(密度),假定每個磁軌平均扇區數目為 400,那麼這個時間大概為 0.03 ms。綜上,如果讀取一個扇區的資料,那麼平均用時大概為 9 + 5 + 0.03 = 14.03 ms。主要時間是 尋道時間 和 旋轉延遲,而實際訪問幾乎不用時間。這也是為什麼連續讀取速度很快,就是因為這個『連續』,這一次讀取過程中,可以簡單的理解為尋道和旋轉延遲只有一次(不嚴謹),大部分時間都花費在實際傳送上。簡單計算下,如果只有傳送時間,5400 轉,每扇區 512 位元組,每個磁軌 400 個扇區,那麼每秒可以傳送 5400 RPM / 60 sec * 400 * 512 = 18,432,000 B / s = 17 MB / s。現在的磁碟,實際的實現複雜,比如每個磁軌擁有的扇區數目不一致,不過一般而言,可以簡單認為各個引數比上述的值要高很多(比如扇區數目 / 比如扇區容量),達到 100 + MB 也是可以的。不過整體原理沒變,尋道時間和旋轉延遲總是存在的,當大量的讀取小檔案的時候,也就是不是『順序』讀取,每次讀取尋道時間和旋轉延遲都要再來一遍,假設每個小檔案每個 1 K,平均也就能到 1000 ms / 14 ms * 1 K = 70 KB / s(按上述 100 / 17 的倍數,也就是 420 KB / s,和你測試值相近),檔案再小一點,速度還可以進一步下降。推薦閱讀深入理解計算機系統(原書第2版) (豆瓣) 第六章 儲存器層次結構

  • 中秋節和大豐收的關聯?
  • 什麼“美食”是你沒事就想吃,且永遠吃不膩的?