Pracovní sada

Pracovní množina je pojem  v informatice, který určuje množství paměti požadované procesem v daném časovém intervalu.


Jinými slovy, pracovní sada procesu je sada stránek ve virtuálním adresním prostoru procesu, které jsou aktuálně ve fyzické paměti [1] (mapované na adresní prostor procesu).

Definice

Peter Denning (1968) definuje „pracovní soubor informacíprocesu v určitém časovém okamžikujako soubor informací, na které se proces odkazuje během časového intervalu“ [2] . Paměťová stránka je obvykle. Navrhuje se uvažovat o pracovní množině jako o hrubém odhadu množiny stránek, ke kterým bude proces v budoucnu přistupovat (například v příštíchjednotkách času), a co je důležitější, jako ukazatel toho, které stránky by měly být uchován v hlavní paměti, aby proces běžel rychleji.

Odůvodnění

Pro výkon záleží na tom, které stránky zůstanou v hlavní paměti (na rozdíl od stránek stránkovaných do pomocné paměti): ponechání příliš mnoha stránek vlastněných procesem v hlavní paměti sníží počet procesů, které mohou běžet současně. Pokud v hlavní paměti zbývá příliš málo stránek procesů, rychlost chyb stránky prudce poroste a počet aktuálně běžících aktivních procesů má tendenci k nule.

Podle modelu pracovní sady může být proces v paměti RAM tehdy a pouze tehdy, pokud sada všech jeho aktuálně používaných stránek (nebo sada naposledy použitých stránek, která se často používá jako aproximace) může být v paměti RAM. Model funguje na principu „všechno nebo nic“, to znamená, že pokud počet paměťových stránek potřebných pro proces roste a v RAM není žádné volné místo, pak je proces zcela uvolněn z paměti, aby se uvolnila paměť pro použití jiné procesy.

Často může mít silně zatížený počítač ve frontě tolik procesů, že pokud jim bude povoleno běžet ve stejném časovém úseku , množství paměti, na kterou odkazují, překročí množství RAM, což má za následek zničení virtuální paměti .

Uvolnění některých procesů z paměti způsobí, že provedení všech procesů, včetně i dočasně uvolněných z paměti, skončí mnohem dříve, než když se pokusíte spustit všechny procesy současně. Provádění procesu skončí mnohem dříve než spouštění každého procesu jeden po druhém, protože souběžnost umožňuje běh jednoho procesu, zatímco ostatní čekají na dokončení přístupu k pevnému disku nebo jiným globálním zdrojům. Jinými slovy, strategie pracovní sady zabraňuje vybíjení virtuální paměti při zachování vysokého stupně multiprogramování . Tato strategie tedy optimalizuje využití CPU a šířku pásma.

Implementace

Hlavním problémem při implementaci popsaného modelu je sledování pracovní sady. Za tímto účelem jsou z celého proudu procesních přístupů ke stránkám paměti sledovány poslední přístupy po časový interval nazývaný okno pracovní sady. S každým přístupem do paměti se na začátek okna přidá nový odkaz na stránku a nejstarší odkaz je mimo něj. Stránka je považována za stránku patřící do pracovní sady, pokud je na ni odkaz v okně pracovní sady [3] .

Aby se předešlo režii spojené s ukládáním velkého počtu odkazů na paměťové stránky, je výpočet pracovní sady často implementován sledováním posledního přístupu na paměťovou stránku. Stránka se považuje za stránku patřící do pracovní sady, pokud rozdíl mezi aktuálním časem a časem posledního přístupu nepřesáhne velikost okna pracovní sady. Pokud tento rozdíl přesáhne velikost okna, může být stránka smazána.

Strategie pracovní sady není algoritmem nahrazování stránky , ale algoritmy nahrazování stránky mohou vzít v úvahu pracovní sadu procesu a neodstranit stránky, které vlastní. Například existuje upravená verze hodinového algoritmu nazvaná WSClock.

Viz také

Poznámky

  1. mcleanbyron. Pracovní sada – aplikace Win32  (ruština)  ? . docs.microsoft.com . Získáno 12. října 2021. Archivováno z originálu dne 24. října 2021.
  2. Denning, PJ Model pracovní sady pro chování programu  // Komunikace ACM. - 1968. - T. 11 , čís. 5 . - S. 323-333 . - doi : 10.1145/363095.363141 .
  3. Jose Garrido, Richard Schlesinger, Kenneth Hoganson. Principy moderních operačních systémů . - Jones & Bartlett Publishers, 2011. - S. 300. - 564 s. — ISBN 978-1-4496-2634-1 .

Literatura