因為順序讀取磁盤數(shù)據(jù)比隨機(jī)讀取磁盤數(shù)據(jù)快的多噪漾,相差幾十-幾百的數(shù)量級硼砰。(40-400倍)
磁盤圖如下:
進(jìn)行磁盤讀取的過程:
1.先尋找數(shù)據(jù)所在柱面號、盤片號欣硼、扇區(qū)號题翰,從而定位到數(shù)據(jù)所在扇區(qū)(所用的時間稱為尋道時間,時間最久)
2.然后盤面旋轉(zhuǎn)到剛才定位的扇區(qū)所在位置诈胜,磁頭讀取數(shù)據(jù)(所用的時間稱為旋轉(zhuǎn)時間)
3.最后把讀取的數(shù)據(jù)傳輸出去(所用的時間稱為傳輸時間)
所以磁盤IO時間=尋道時間+旋轉(zhuǎn)時間+傳輸時間
磁盤預(yù)讀:每次讀取為一頁(一般4kb大小)豹障,可能包含幾個扇區(qū)(一般512bit)。
如果順序讀取的話焦匈,可以省略尋道時間血公,把相鄰的幾個扇區(qū)都讀取出來。如果隨機(jī)讀取缓熟,每次讀取數(shù)據(jù)累魔,都需要重復(fù)以上3個步驟,耗費(fèi)時間更久够滑。
例子:
計算機(jī)中存儲一個二維數(shù)組是按行存儲的垦写,當(dāng)前例子類按行讀取類似與順序讀,按列讀取類似與隨機(jī)讀彰触,并不是存儲到磁盤上了梯投,只是驗證一下順序讀和非順序讀的差別之大。
磁盤文件况毅、內(nèi)存都是順序讀速度快于隨機(jī)讀的分蓖。