buffer 與cache 的區別2

shiri512003發表於2008-09-05
[@more@]

buffer 與cache 的區別   

A buffer is something that has yet to be "written" to disk. A cache is something that has been "read" from the disk and stored for later use.   更詳細的解釋參考:Difference Between Buffer and Cache   對於共享記憶體(Shared memory),主要用於在UNIX 環境下不同程式之間共享資料,是程式間通訊的一種方法,一般的應用程式不會申請使用共享記憶體,筆者也沒有去驗證共享記憶體對上面等式的影響。如果你有興趣,請參考:What is Shared Memory?   cache 和 buffer的區別:   Cache:快取記憶體,是位於CPU與主記憶體間的一種容量較小但速度很高的儲存器。由於CPU的速度遠高於主記憶體,CPU直接從記憶體中存取資料要等待一定時間週期, Cache中儲存著CPU剛用過或迴圈使用的一部分資料,當CPU再次使用該部分資料時可從Cache中直接呼叫,這樣就減少了CPU的等待時間,提高了系統的效率。Cache又分為一級Cache(L1 Cache)和二級Cache(L2 Cache),L1 Cache整合在CPU內部,L2 Cache早期一般是焊在主機板上,現在也都整合在CPU內部,常見的容量有256KB或512KB L2 Cache。   Buffer:緩衝區,一個用於儲存速度不同步的裝置或優先順序不同的裝置之間傳輸資料的區域。透過緩衝區,可以使程式之間的相互等待變少,從而使從速度慢的裝置讀入資料時,速度快的裝置的操作程式不發生間斷。   Free中的buffer和cache:(它們都是佔用記憶體):   buffer : 作為buffer cache的記憶體,是塊裝置的讀寫緩衝區   cache: 作為page cache的記憶體, 檔案系統的cache   如果 cache 的值很大,說明cache住的檔案數很多。如果頻繁訪問到的檔案都能被cache住,那麼磁碟的讀IO bi會非常小。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7591490/viewspace-1010172/,如需轉載,請註明出處,否則將追究法律責任。

相關文章