The overriding rule of buffer flushing is that the before-images of modified pages are flushed to disk before the modified pages themselves.
In practice, the physical-log buffer is flushed first and then the buffers that contain modified pages. Therefore, even when a shared-memory buffer page needs to be flushed because a user thread is trying to acquire a buffer, but none is available (a foreground write), the buffer pages cannot be flushed until the before-image of the page has been written to disk.
Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]