磁盘读取
轉(zhuǎn)自:http://www.51testing.com/?uid-183504-action-viewspace-itemid-116788
數(shù)據(jù)存儲(chǔ)在磁盤上的排列方式會(huì)影響I/O服務(wù)的總時(shí)間。假設(shè)每磁道劃分成10個(gè)物理塊,每塊存放1個(gè)邏輯記錄。邏輯記錄R1,R2,﹍﹍ ,R10存放在同一個(gè)磁道上,記錄的安排順序如下表所示:
??物理塊?????? 1??? 2?? 3??? 4??? 5??? 6??? 7??? 8?? 9?? 10
邏輯記錄???? R1? R2 R3 R4 R5 R6 R7 R8 R9 R10
假定磁盤的旋轉(zhuǎn)速度為20MS/周,磁頭當(dāng)前處在R1的開始處。若系統(tǒng)順序處理這些記錄,使用單緩沖區(qū),每個(gè)記錄處理時(shí)間為4MS,則處理這10個(gè)記錄的最長(zhǎng)時(shí)間為_(15)_;若對(duì)信息進(jìn)行優(yōu)化分布后,處理這10個(gè)記錄的最少時(shí)間為_(16)_。
(15)A.180ms????B.200 ms??C.204ms????D.220ms
(16)A.40ms???? B. 60ms?? C. 100ms?? D.160ms
分析:
首先我們來回憶一下讀磁盤數(shù)據(jù)的基礎(chǔ)知識(shí):首先磁頭要移動(dòng)到要訪問的磁道(這個(gè)時(shí)間是尋道時(shí)間 seek time, 在本題中不需要考慮),然后等待要訪問的物理塊轉(zhuǎn)動(dòng)到磁頭下面(這個(gè)時(shí)間是潛伏時(shí)間 latency time),最后是讀物理塊,讀物理塊的時(shí)間是該物理塊從磁頭下經(jīng)過的時(shí)間。對(duì)于大容量硬盤來說,讀取一小塊數(shù)據(jù)的時(shí)間,相對(duì)尋道時(shí)間和潛伏時(shí)間是非常少的,以至于經(jīng)常被忽略的。但是這里不能忽略,它需要20/10=2ms的時(shí)間。
現(xiàn)在我們來分析這道題。首先請(qǐng)大家注意10個(gè)物理塊是從1到10依次排列的(可能有很多朋友在考慮第15題的時(shí)候忽視了這點(diǎn)),磁頭就在R1的開始之處。 毫無疑問,必須先用2ms的時(shí)間來讀出R1(讀完后磁頭處于R2的開始處),然后處理R1花費(fèi)4ms。同時(shí)緩沖區(qū)只有一個(gè),在R1被處理完之前,不能讀入其他物理塊(雖然在R1處理的過程中,磁頭經(jīng)過了R2物理塊,可是無法讀入)。但是在R1被處理完時(shí),經(jīng)過4ms的旋轉(zhuǎn)磁頭已經(jīng)處于R4的開始處,于是不得不要有8*2=16ms的潛伏時(shí)間,才能使磁頭到達(dá)R2的開始處,同樣讀出R2需要2ms,處理需要4ms,這樣在R2上花費(fèi)的時(shí)間是16+2+4=22ms,同理R3-R10也是22ms ,而R1是2+4=6ms , 所以一共需要的時(shí)間是 6+9*22=204ms.對(duì)應(yīng)的選項(xiàng)是C??
經(jīng)過上述的分析,第16題就不難得到答案了,如果將R2安排到原R4的位置,R3安排到原R7的位置,依次類推(此時(shí)物理塊的排列為 R1 R8 R5 R2 R9 R6 R3 R10 R7 R4),這樣訪問R2-R9的潛伏時(shí)間都為0,此時(shí)處理10個(gè)物理塊的時(shí)間最少,為6*10=60 , 對(duì)應(yīng)選項(xiàng) B.
總結(jié)
- 上一篇: arrive get
- 下一篇: 分页系统的地址变换