您好,登錄后才能下訂單哦!
硬盤的各種概念是怎樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
一、順序 和 隨機
磁盤的順序訪問和隨機訪問是怎么定義的呢?如果一次IO操作起始的邏輯塊地址logical block address (LBA)緊挨著上一次IO操作的終止 LBA,就是順序訪問,否則就是隨機訪問。下邊這個圖比較形象(https://en.wikipedia.org/wiki/IOPS)。
邏輯地址是程序中認識的塊地址,編號順序遞增。除了 LBA 還有 PBA(物理塊地址),一般邏輯和物理地址會有一個對應關系。物理地址就是數據在磁盤上的實際地址了。
二、HDD
HDD 就是 Hard Disk Drive,硬盤驅動器,也就是普通的機械硬盤,通過磁頭讀寫數據。HDD 的隨機訪問和順序訪問是有區別的,之前寫過一篇相關話題的文章,
索引 vs 全表掃描
,今天再復習一下。
把磁盤看成一個光盤,上邊有一個磁頭用來寫東西,就像鋼筆頭一樣,要在一個位置寫東西,需要先將磁頭移動到那個位置,這個操作叫seek(旋轉+尋道),接下來就是將數據順序寫下去(write)。寫完數據之后磁頭自動向后移動,如果繼續挨著寫就不需要 seek 了。
舉個例子,以一個漢字為單位,那么順序寫一句話 “小孩兒你好呀”,只需要將磁頭 seek 一次到“小”要寫的位置,然后 write “小”,接下來直接把“孩兒你好呀” 一個個 write 到后邊就可以了,這些字在磁盤上都存在了一起。隨機寫就是把這幾個字分開存,互相不挨著。那么共需要 6 次 seek,6次 write。順序寫總是比隨機寫要好的,因為隨機寫多了 5 次 seek 的時間。
一個 HDD 的 seek 耗時是 10ms,吞吐率是 100MB/s,也就是每秒能 write 100MB 的數據。那么以 1KB 為單位,純 write 這 1KB 的數據只需要 10us ,是seek 的 1/1000。 可以看到 seek 是很不友好的。
由于HDD 可以覆蓋寫,所以 LBA 和 PBA 是一一對應的,連續的邏輯地址也對應了連續的物理地址,所以有隨機訪問和順序訪問的區別。
看完上述內容,你們掌握硬盤的各種概念是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。