Obsah
Working Set Model (Model pracovní sady)
Working Set Model (model pracovní sady) je teoretický koncept správy paměti v operačních systémech, který v roce 1968 formuloval Peter Denning. Tento model vyřešil zásadní problém s efektivitou v systémech s virtuální pamětí a zabránil jevu zvanému thrashing (kdy systém tráví více času neustálým přesouváním stránek mezi operační pamětí a diskovým úložištěm než samotným výpočtem).
Princip fungování
Zatímco klasické stránkování (Paging) nahrává do paměti data po jednotlivých pevných blocích (stránkách) až ve chvíli, kdy dojde k výpadku stránky (Page Fault), Working Set Model se snaží předvídat potřeby procesu dopředu.
* Definice pracovní sady: Pracovní sada procesu $W(t, \Delta)$ je množina všech stránek, které proces prokazatelně odkazoval během posledního časového intervalu $\Delta$. * Princip lokality odkazů: Model staví na pozorování, že programy v daném časovém úseku přistupují pouze k malé, lokální části svého kódu a dat (např. v rámci běžící smyčky). * Dynamická alokace: Operační systém sleduje aktivitu procesu a udržuje v operační paměti přesně tu množinu stránek, kterou proces aktuálně ke své práci potřebuje. Pokud se pracovní sada procesu nevejde do volné paměti, systém proces raději pozastaví (swapping), než aby neustále kolaboval na výpadcích stránek.
Prevence thrashingu
Před zavedením Denningova modelu docházelo při nedostatku paměti k lavinovitému růstu výpadků stránek. Procesy si navzájem přetahovaly stránky, výkon procesoru (CPU) klesl k nulovým hodnotám a počítač přestal reagovat.
Working Set Model funguje jako preventivní ochrana: 1. Sleduje velikost pracovní sady každého běžícího procesu. 2. Hlídá, zda celkový součet všech pracovních sad nepřesahuje kapacitu fyzické paměti (RAM). 3. Pokud paměť nestačí, odloží spuštění některých procesů (tzv. *long-term scheduling*), čímž garantuje dostatek zdrojů pro stabilní běh zbývajících úloh.
Související pojmy
* Peter Denning * Data a programování * Linux: Komplexní průvodce světem Open Source
operatingsystems memorymanagement computerescience denning architecture
