區別:1、buffer指的是緩衝區,而cache指的是快取區;2、Buffer用來加快資料「寫入」硬碟的速度,而cache用來加快資料從硬碟中「讀取」的速度;3、buffer可減少進程間通訊需要等待的時間,Cache可減少CPU等待的時間。
本教學操作環境: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中文網其他相關文章!