Working set, or resident set


Physical memory is not allocated to or associated with a user process until it is required. And, when the program doesn't need it any more or hasn't used it for a long time, it is taken away (the translation in the MMU is turned off) and the page is used for something else or put on the free list. Of course, if the data in the page has been modified, it will first have to be saved out on disk. The real memory pages associated with a process are called the resident set , meaning this is the set of pages currently resident (physically present) in memory and belonging to that process. This is somewhat complicated by the fact that some pages may actually be used by more than one process at the same time. For example, the pages that hold the code for the shared library libc are going to be required by many different programs simultaneously . However, since nobody should be changing these pages (in fact, they're not allowed to), there is no reason to have more than one copy of the data in memory at one time. It makes much more sense to have multiple MMU translations for that page so that many processes can be reading the same data. This does not require that the page be located at the same virtual address for each process that needs it. It does mean that several translations of virtual addresses may result in the same physical location and will thus find the same page. These pages, since they are mapped in by more than one process, will be counted as a part of the resident set for each one of these processes.



PANIC. UNIX System Crash Dump Analysis Handbook
PANIC! UNIX System Crash Dump Analysis Handbook (Bk/CD-ROM)
ISBN: 0131493868
EAN: 2147483647
Year: 1994
Pages: 289
Authors: Chris Drake

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net