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