Comparison: Buffer vs. Cache

Context

Comparison

Cache 和 buffer 都可能使用 main memory,但目的不同:

  • Buffer:為了協調資料傳輸,可能保存資料唯一 copy。
  • Cache:為了加速存取,保存某個已存在於其他地方的資料副本。

例如資料剛從 network 收到、還沒交給 application 時,kernel buffer 可能是唯一 copy;但如果某個 file block 已經存在 disk 上,kernel 把它放進 memory,這份 memory data 就是 cache copy。

因此判斷重點不是「有沒有放在 memory」,而是「這份資料是傳輸中的暫存,還是為了加速而保留的副本」。