Example: File Block Buffer Cache
HASH(vnode, logical block)
Buffers with valid data are retained in memory in a buffer cache or file cache.
Each item in the cache is a buffer header pointing at a buffer .
Blocks from different files may be intermingled in the hash chains.
System data structures hold pointers to buffers only when I/O is pending or imminent.
- busy bit instead of refcount
- most buffers are “free”
Most systems use a pool of buffers in kernel memory as a staging area for memory<->disk transfers.