next up previous
Next: Networking Up: Kernel Buffer Cache Previous: LibOS interface

Kernel interface

Each memory page has two independent attributes: it is either free or allocated and it either contains a buffer or it does not. This means a page can be in one of the following four states:

Note that a free and non-empty page that is dirty will not be implicitly removed from the buffer cache in response to a request for more memory. This is to make sure that delayed writes are not lost by applications that are counting on a write-back demon to do the write back after the application as exited. If dirty pages are not cleaned at a sufficient rate, all available memory will eventually be tied up in dirty and therefore non-reclaimable buffers.


next up previous
Next: Networking Up: Kernel Buffer Cache Previous: LibOS interface
Thomas Pinckney
3/17/1998