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.
緩存(cached)是把讀取過(guò)的數(shù)據(jù)保存起來(lái),重新讀取時(shí)若命中(找到需要的數(shù)據(jù))就不要去讀硬盤了,若沒(méi)有命中就讀硬盤。其中的數(shù)據(jù)會(huì)根據(jù)讀取頻率進(jìn)行組織,把最頻繁讀取的內(nèi)容放在最容易找到的位置,把不再讀的內(nèi)容不斷往后排,直至從中刪除。
緩沖(buffers)是根據(jù)磁盤的讀寫設(shè)計(jì)的,把分散的寫操作集中進(jìn)行,減少磁盤碎片和硬盤的反復(fù)尋道,從而提高系統(tǒng)性能。
兩者都是RAM中的數(shù)據(jù)。簡(jiǎn)單來(lái)說(shuō),buffer是即將要被寫入磁盤的,而cache是被從磁盤中讀出來(lái)的。
buffer是由各種進(jìn)程分配的,被用在如輸入隊(duì)列等方面,一個(gè)簡(jiǎn)單的例子如某個(gè)進(jìn)程要求有多個(gè)字段讀入,在所有字段被讀入完整之前,進(jìn)程把先前讀入的字段放在buffer中保存。
cache經(jīng)常被用在磁盤的I/O請(qǐng)求上,如果有多個(gè)進(jìn)程都要訪問(wèn)某個(gè)文件,于是該文件便被做成cache以方便下次被訪問(wèn),這樣可提供系統(tǒng)性能。
cache 和 buffer的區(qū)別:
Cache:高速緩存,是位于CPU與主內(nèi)存間的一種容量較小但速度很高的存儲(chǔ)器。由于CPU的速度遠(yuǎn)高于主內(nèi)存,CPU直接從內(nèi)存中存取數(shù)據(jù)要等待一定時(shí)間周期, Cache中保存著CPU剛用過(guò)或循環(huán)使用的一部分?jǐn)?shù)據(jù),當(dāng)CPU再次使用該部分?jǐn)?shù)據(jù)時(shí)可從Cache中直接調(diào)用,這樣就減少了CPU的等待時(shí)間,提高了系統(tǒng)的效率。Cache又分為一級(jí)Cache(L1 Cache)和二級(jí)Cache(L2 Cache),L1 Cache集成在CPU內(nèi)部,L2 Cache早期一般是焊在主板上,現(xiàn)在也都集成在CPU內(nèi)部,常見(jiàn)的容量有256KB或512KB L2 Cache。
Buffer:緩沖區(qū),一個(gè)用于存儲(chǔ)速度不同步的設(shè)備或優(yōu)先級(jí)不同的設(shè)備之間傳輸數(shù)據(jù)的區(qū)域。通過(guò)緩沖區(qū),可以使進(jìn)程之間的相互等待變少,從而使從速度慢的設(shè)備讀入數(shù)據(jù)時(shí),速度快的設(shè)備的操作進(jìn)程不發(fā)生間斷。
posted on 2008-09-24 00:13
GLORY 閱讀(427)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
Computer Basic