Working set
From Wikipedia, the free encyclopedia
Working set is the set of physical memory pages currently dedicated to a specific process.
The effect of working set size is important and should be neither too large nor too small. If the working set is too large, then fewer processes can be ready at any one time. If the working set is too small, then additional requests must be made of the swapping space to retrieve required pages.
The working set model states that a process can be in RAM if and only if all of the pages that it is currently using (the most recently used pages) can be in RAM. The model is an all or nothing model, meaning if the pages it needs to use increases, and there is no room in RAM, the process is kicked from memory to free the memory for other processes to use.
In other words, the working set strategy prevents thrashing while keeping the degree of multiprogramming as high as possible. Thus it optimizes CPU utilization and throughput.
The main hurdle in implementing the working set model is keeping track of the working set. The working set window is a moving window. At each memory reference a new reference appears at one end and the oldest reference drops off the other end. A page is in the working set if it is referenced in the working set window.