磁盘的顺序读写与随机读写详解
磁盤的順序讀寫與隨機讀寫詳解
- 1.磁盤的基本概念
- 2.磁盤的讀寫方式
- 3.磁盤讀取時間
- 4.順序讀寫與隨機讀寫
- 5 參考鏈接
1.磁盤的基本概念
?盤片與盤面 : 一塊硬盤一般有多塊盤片,盤片分為上下兩面,其中有效面稱為盤面(一般上下都有效),盤片數一般與磁頭數相等.也就是說:磁頭數 = 盤面數 = 盤片數*2
?磁頭 : 磁頭切換磁道讀寫數據時通過機械設備實現的,速度較慢;而磁頭切換盤面讀寫數據是通過電子設備實現的,速度較快,因此磁頭一般是先讀寫完柱面后才開始尋道的(不用切換磁道),這樣磁盤讀寫效率更快.
?磁道 : 磁道就是以中間軸為圓心的圓環,盤面有多個磁道,磁道之間有間隙,磁道也就是磁盤存儲數據的介質.磁道上布有一層磁介質,通過磁頭可以使磁介質的極性轉換為操作系統的數據信號(即磁盤的讀,磁盤寫剛好相反)
?柱面 : 磁盤中不同盤面中半徑相同的磁道組成的. 也就是說 柱面數 = 某個盤面的磁道數
?扇區 : 單個磁道就是多個弧形扇區組成的,當然某個盤面上的每個磁道擁有的扇區數量是相等.扇區是硬盤/磁盤的最小存儲單元.但不是文件系統的最小存儲單元(文件系統的最小存儲單元是block,可以人為設定).一般扇區大小為512bytes(最新的硬盤好像可以有4K了)
2.磁盤的讀寫方式
?文件系統不是一個扇區,一個扇區的來讀數據,太慢了,所有有了block(塊)的概念,它是一個塊一個塊的讀取的.block才是文件存取的最小單位.
?一個block塊中扇區的個數依文件系統而不同,如一個block有8個扇區,那一個block塊的大小為4K.
3.磁盤讀取時間
尋道時間 : 表示磁頭在不同磁道之間移動的時間
旋轉延遲 : 表示在磁道找道時,中軸帶動盤面旋轉到合適的扇區開頭處
傳輸時間 : 表示盤面繼續轉動,實際讀取數據的時間
7200轉/min,旋轉一周需要8.33ms
尋道約10ms
磁頭不動,盤動的過程
磁盤的轉速;5400轉,7200轉,10000轉,15000轉 每分鐘
4.順序讀寫與隨機讀寫
?只有順序寫才能保證順序讀
?當讀取第一個block時,要經歷尋道,旋轉延遲,傳輸三個步驟才能讀取完這個block的數據.而對于下一個block,如果它在磁盤的某個位置,訪問它會同樣經歷尋道,旋轉,延時,傳輸才能讀取完這個block的數據, 我們把這種方式的IO叫做隨機IO.但是如果這個block的起始扇區剛好在我剛才訪問的block的后面,磁頭就能立刻遇到.不需等待,直接傳輸.這種IO就叫順序IO.
5 參考鏈接
磁盤基本知識與讀寫原理:
https://blog.csdn.net/rodbate/article/details/50371855
理解IO:隨機和順序
https://blog.csdn.net/BaiWfg2/article/details/52885287
總結
以上是生活随笔為你收集整理的磁盘的顺序读写与随机读写详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 线性代数相关知识点回顾
- 下一篇: 谈谈spark.sql.shuffle.