首頁  >  文章  >  運維  >  linux中buffer和cache的差別是什麼

linux中buffer和cache的差別是什麼

青灯夜游
青灯夜游原創
2022-02-24 14:41:285306瀏覽

區別:1、buffer指的是緩衝區,而cache指的是快取區;2、Buffer用來加快資料「寫入」硬碟的速度,而cache用來加快資料從硬碟中「讀取」的速度;3、buffer可減少進程間通訊需要等待的時間,Cache可減少CPU等待的時間。

linux中buffer和cache的差別是什麼

本教學操作環境:linux5.9.8系統、Dell G3電腦。

linux中的buffer(緩衝區)

Buffer:緩衝區,用於儲存速度不同步的裝置或不同優先順序的裝置之間傳輸資料;透過buffer可以減少進程間通訊需要等待的時間,當儲存速度快的裝置與儲存速度慢的裝置通訊時,儲存慢的資料先把資料存放到buffer,達到一定程度儲存快的裝置再讀取buffer的數據,在此期間儲存快的設備CPU可以乾其他的事情。

Buffer:一般是用在寫入磁碟的,例如:某個行程要求多個欄位被讀入,當所有要求的欄位被讀入之前已經讀入的欄位會先放到buffer中。

linux中的cache(快取區)

Cache:快取區,是快取,是位於CPU和主記憶體之間的容量較小但速度很快的記憶體,因為CPU的速度遠高於主記憶體的速度,CPU從記憶體中讀取資料需等待很長的時間,而  Cache保存著CPU剛用過的資料或循環使用的部分數據,這時從Cache讀取資料會更快,減少了CPU等待的時間,提高了系統的效能。

    Cache並不是快取檔案的,而是快取區塊的(區塊是I/O讀寫最小的單元);Cache通常會用在I/O請求上,如果多個行程要存取某個文件,可以把此文件讀入Cache中,讓下一個程序取得CPU控制權並存取此文件直接從Cache讀取,提升系統效能。

緩衝(buffer)和快取(cache)的差異:

#快取(cache)是在讀取硬碟中的資料時,把最常用的資料保存在記憶體的快取區中,再次讀取該資料時,就不會去硬碟讀取了,而在快取中讀取。

緩衝(buffer)是在向硬碟寫入資料時,先把資料放入緩衝區,然後再一起向硬碟寫入,把分散的寫入操作集中進行,減少磁碟碎片和硬碟的反复尋道,從而提高系統效能。

簡單來說,快取(cache)是用來加速資料從硬碟中"讀取"的,而緩衝(buffer)是用來加速資料"寫入"硬碟的。

相關推薦:《Linux影片教學

以上是linux中buffer和cache的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn