Updating segmentation schemes
This minimizes the amount of cleaning needed to obtain new page frames at the moment a new program starts or a new data file is opened, and improves responsiveness.
(Unix operating systems periodically use sync to pre-clean all dirty pages; Windows operating systems use "modified page writer" threads.) After completing initialization, most programs operate on a small number of code and data pages compared to the total memory the program requires.
As the working set grows, resolving page faults remains manageable until the growth reaches a critical point.
Then faults go up dramatically and the time spent resolving them overwhelms time spent on the computing the program was written to do. Thrashing occurs on a program that works with huge data structures, as its large working set causes continual page faults that drastically slow down the system.
The pages most frequently accessed are called the working set.
When the working set is a small percentage of the system's total number of pages, virtual memory systems work most efficiently and an insignificant amount of computing is spent resolving page faults.
The invention of the page table let the processor operate on arbitrary pages anywhere in RAM as a seemingly contiguous logical address space.
The operating system predicts the page frame least likely to be needed soon, often through the least recently used (LRU) algorithm or an algorithm based on the program's working set.To further increase responsiveness, paging systems may predict which pages will be needed soon, preemptively loading them into RAM before a program references them.