Buffer和Cache的區別

2021-06-25 09:53:31 字數 695 閱讀 4710

快取(cached)是把讀取過的資料儲存起來,重新讀取時若命中(找到需要的資料)就不要去讀硬碟了,若沒有命中就讀硬碟。其中的資料會根據讀取頻率進行組織,把最頻繁讀取的內容放在最容易找到的位置,把不再讀的內容不斷往後排,直至從中刪除。 

緩衝(buffers)是根據磁碟的讀寫設計的,把分散的寫操作集中進行,減少磁碟碎片和硬碟的反覆尋道,從而提高系統效能。linux有乙個守護程序定期清空緩衝內容(即寫入磁碟),也可以通過sync命令手動清空緩衝。舉個例子吧:我這裡有乙個ext2的u盤,我往裡面cp乙個3m的***,但u盤的燈沒有跳動,過了一會兒(或者手動輸入sync)u盤的燈就跳動起來了。解除安裝裝置時會清空緩衝,所以有些時候解除安裝乙個裝置時要等上幾秒鐘。 

簡單來說,buffer是即將要被寫入磁碟的,而cache是被從磁碟中讀出來的。

buffer是由各種程序分配的,被用在如輸入佇列等方面。乙個簡單的例子如某個程序要求有多個字段讀入,在所有欄位被讀入完整之前,程序把先前讀入的字段放在buffer中儲存。

cache經常被用在磁碟的i/o請求上,如果有多個程序都要訪問某個檔案,於是該檔案便被做成cache以方便下次被訪問,這樣可提高系統效能。

buffer cache

buffer cache,又稱bcache,其中文名稱為緩衝器高速緩衝儲存器,簡稱緩衝器高緩。另外,buffer cache按照其工作原理,又被稱為塊高緩。

Cache和Buffer的區別

1.cache 快取區,是快取記憶體,是位於cpu和主記憶體之間的容量較小但速度很快的儲存器,因為cpu的速度遠遠高於主記憶體的速度,cpu從記憶體中讀取資料需等待很長的時間,而 cache儲存著cpu剛用過的資料或迴圈使用的部分資料,這時從cache中讀取資料會更快,減少了cpu等待的時間,提高了...

Cache和Buffer的區別

1.cache 快取區,是快取記憶體,是位於cpu和主記憶體之間的容量較小但速度很快的儲存器,因為cpu的速度遠遠高於主記憶體的速度,cpu從記憶體中讀取資料需等待很長的時間,而 cache儲存著cpu剛用過的資料或迴圈使用的部分資料,這時從cache中讀取資料會更快,減少了cpu等待的時間,提高了...

buffer和cache的區別

buffer 緩衝 將資料緩衝下來,解決速度慢和快的交接問題 速度快的需要通過緩衝區將資料一點一點傳給速度慢的區域。例如 從記憶體中將資料往硬碟中寫入,並不是直接寫入,而是緩衝到一定大小之後刷入硬碟中。a buffer is something that has yet to be written ...