Solution (source code)

= Solution

The <working set> $W(t,\Delta)$ is the set of virtual pages referenced by an <operating-system process> within a recent window of $\Delta$ execution time or memory references. Its size estimates the number of frames needed for the process's current locality of execution. It is a set of recently used pages, not the entirety of the process's address space.

An <operating system> can estimate it from reference bits or fault history and try to keep those pages resident. <Process scheduling> and admission control should avoid simultaneously running processes whose combined working sets exceed physical memory; suspending some processes or reducing multiprogramming then allows the rest to make useful progress. If too many active pages compete for too few frames, repeated <page faults> produce <memory thrashing>. \b[Working sets connect memory allocation to the choice of processes allowed to run.]