硬盤(pán)的各種概念是怎樣的,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)公司專注于文登企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),成都商城網(wǎng)站開(kāi)發(fā)。文登網(wǎng)站建設(shè)公司,為文登等地區(qū)提供建站服務(wù)。全流程按需定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
一、順序 和 隨機(jī)
磁盤(pán)的順序訪問(wèn)和隨機(jī)訪問(wèn)是怎么定義的呢?如果一次IO操作起始的邏輯塊地址logical block address (LBA)緊挨著上一次IO操作的終止 LBA,就是順序訪問(wèn),否則就是隨機(jī)訪問(wèn)。下邊這個(gè)圖比較形象(https://en.wikipedia.org/wiki/IOPS)。
邏輯地址是程序中認(rèn)識(shí)的塊地址,編號(hào)順序遞增。除了 LBA 還有 PBA(物理塊地址),一般邏輯和物理地址會(huì)有一個(gè)對(duì)應(yīng)關(guān)系。物理地址就是數(shù)據(jù)在磁盤(pán)上的實(shí)際地址了。
二、HDD
HDD 就是 Hard Disk Drive,硬盤(pán)驅(qū)動(dòng)器,也就是普通的機(jī)械硬盤(pán),通過(guò)磁頭讀寫(xiě)數(shù)據(jù)。HDD 的隨機(jī)訪問(wèn)和順序訪問(wèn)是有區(qū)別的,之前寫(xiě)過(guò)一篇相關(guān)話題的文章,
索引 vs 全表掃描
,今天再?gòu)?fù)習(xí)一下。
把磁盤(pán)看成一個(gè)光盤(pán),上邊有一個(gè)磁頭用來(lái)寫(xiě)東西,就像鋼筆頭一樣,要在一個(gè)位置寫(xiě)東西,需要先將磁頭移動(dòng)到那個(gè)位置,這個(gè)操作叫seek(旋轉(zhuǎn)+尋道),接下來(lái)就是將數(shù)據(jù)順序?qū)懴氯ィ╳rite)。寫(xiě)完數(shù)據(jù)之后磁頭自動(dòng)向后移動(dòng),如果繼續(xù)挨著寫(xiě)就不需要 seek 了。
舉個(gè)例子,以一個(gè)漢字為單位,那么順序?qū)懸痪湓?“小孩兒你好呀”,只需要將磁頭 seek 一次到“小”要寫(xiě)的位置,然后 write “小”,接下來(lái)直接把“孩兒你好呀” 一個(gè)個(gè) write 到后邊就可以了,這些字在磁盤(pán)上都存在了一起。隨機(jī)寫(xiě)就是把這幾個(gè)字分開(kāi)存,互相不挨著。那么共需要 6 次 seek,6次 write。順序?qū)懣偸潜入S機(jī)寫(xiě)要好的,因?yàn)殡S機(jī)寫(xiě)多了 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 可以覆蓋寫(xiě),所以 LBA 和 PBA 是一一對(duì)應(yīng)的,連續(xù)的邏輯地址也對(duì)應(yīng)了連續(xù)的物理地址,所以有隨機(jī)訪問(wèn)和順序訪問(wèn)的區(qū)別。
看完上述內(nèi)容,你們掌握硬盤(pán)的各種概念是怎樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!