|
|
Line 1: |
Line 1: |
| {{no footnotes|date=November 2011}}
| | The writer's title is Christy. Alaska is where he's always been living. One of the extremely very best issues in the globe for him is doing ballet and he'll be beginning some thing else along with it. Distributing manufacturing is exactly where her main earnings arrives from.<br><br>Also visit my web blog: authentic psychic readings ([http://findyourflirt.net/index.php?m=member_profile&p=profile&id=117823 findyourflirt.net]) |
| | |
| '''Working set''' is a concept in [[computer science]] which defines what memory a [[process (computing)|process]] requires in a given time interval.
| |
| | |
| ==Definition==
| |
| [[Peter_J._Denning|Peter Denning]] (1968) defines “the working set of information <math>W(t, \tau)</math> of a [[process (computing)|process]] at time <math>t</math> to be the collection of information referenced by the process during the process time interval <math>(t - \tau, t)</math>”. Typically the units of information in question are considered to be [[Page (computing)|memory pages]]. This is suggested to be an approximation of the set of pages that the process will access in the future (say during the next <math>\tau</math> time units), and more specifically is suggested to be an indication of what pages ought to be kept in main memory to allow most progress to be made in the execution of that process.
| |
| | |
| ==Rationale==
| |
| The effect of choice of what pages to be kept in main memory (as distinct from being ''paged out'' to auxiliary storage) is important: if too many pages of a process are kept in main memory, then fewer other processes can be ready at any one time. If too few pages of a process are kept in main memory, then the [[page fault]] frequency is greatly increased and the number of active (non-suspended) processes currently executing in the system approaches zero.
| |
| | |
| The '''working set model''' states that a process can be in [[Random-access memory|RAM]] if and only if all of the pages that it is currently using (often approximated by 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 swapped out of memory to free the memory for other processes to use.
| |
| | |
| Often a heavily [[load (computing)| loaded]] computer has so many processes queued up that, if all the processes were allowed to run for one [[scheduling (computing)|scheduling]] time slice, they would refer to more pages than there is RAM, causing the computer to "[[thrashing (computer science)|thrash]]".
| |
| | |
| By swapping some processes from memory, the result is that processes -- even processes that were temporarily removed from memory -- finish much sooner than they would if the computer attempted to run them all at once.
| |
| The processes also finish much sooner than they would if the computer only ran one process at a time to completion, since it allows other processes to run and make progress during times that one process is waiting on the hard drive or some other global resource.
| |
| | |
| In other words, the working set strategy prevents [[thrashing (computer science)|thrashing]] while keeping the degree of multiprogramming as high as possible. Thus it optimizes CPU utilization and throughput.
| |
| | |
| ==Implementation==
| |
| 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 working set window.
| |
| | |
| To avoid the overhead of keeping a list of the last ''k'' referenced pages, the working set is often implemented by keeping track of the time ''t'' of the last reference, and considering the working set to be all pages referenced within a certain period of time.
| |
| | |
| The working set isn't a [[page replacement algorithm]], but page-replacement algorithms can be designed to only remove pages that aren't in the working set for a particular process. One example is a modified version of the [[Page replacement algorithm#Clock|clock algorithm]] called WSClock.
| |
| | |
| ==See also==
| |
| * [[Locality of reference]]
| |
| * [[Resident Set Size]]
| |
| * [[Working_set_size|Working Set Size]]
| |
| | |
| ==References==
| |
| * Tanenbaum, Andrew (2009). Modern Operating Systems Third Edition. pp 209 - 210
| |
| * Denning, P.J. (1968). The working set model for program behavior. Communications of the ACM, 5/1968, Volume 11, pp. 323-333.[http://doi.acm.org/10.1145/363095.363141]
| |
| * Denning, P.J. (1980). Working Sets Past and Present. IEEE Transactions on Software Engineering, 1/1980, Volume SE-6, pp. 64-84. [http://ieeexplore.ieee.org/iel5/32/35914/01702696.pdf?tp=&arnumber=1702696&isnumber=35914]
| |
| * Silberschatz, A., Galvin, P.B., & Gagne, G. (2005). Operating System Concepts, 7th edition. Palatino: Wiley. pp. 346.
| |
| | |
| [[Category:Operating system technology]]
| |
| [[Category:Virtual memory]]
| |
The writer's title is Christy. Alaska is where he's always been living. One of the extremely very best issues in the globe for him is doing ballet and he'll be beginning some thing else along with it. Distributing manufacturing is exactly where her main earnings arrives from.
Also visit my web blog: authentic psychic readings (findyourflirt.net)