Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pracovní sada procesu je sada stránek ve virtuálním adresním prostoru procesu, které jsou aktuálně umístěny v fyzické paměti. Pracovní sada obsahuje pouze stránkovatelné přidělení paměti; Nestránkové přidělení paměti, jako jsou rozšíření Rozšíření oken adres (AWE) nebo velké přidělení stránek nejsou součástí pracovní sady.
Když proces odkazuje na stránkovatelnou paměť, která není v jeho pracovní sadě, nastane výpadek stránky . Obslužná rutina chyby systémové stránky se pokusí chybu stránky vyřešit a v případě úspěchu se stránka přidá do pracovní sady. (Přístup k AWE nebo velkým alokacím stránek nikdy nezpůsobuje výpadek stránky, protože tato alokace nejsou stránkovatelná.)
Chyba pevné stránky musí být vyřešena čtením obsahu stránky z záložního úložiště stránky, což je systémový stránkovací soubor nebo soubor mapovaný v paměti vytvořený procesem. Měkkou chybu stránky je možné vyřešit bez přístupu k záložnímu úložišti. K softwarové chybě stránky dochází v případě, že:
- Stránka je v pracovní sadě některého jiného procesu, takže už je v paměti.
- Stránka je ve stavu přechodu, protože buď byla odebrána z pracovních sad všech procesů, které stránku používaly, a ještě nebyla znovu využita, nebo je již rezidentní v důsledku operace předběžného načítání správce paměti.
- Když proces poprvé odkazuje na přidělenou virtuální stránku (někdy se označuje jako chyba s nulovým požadavkem).
Stránky lze z pracovní sady procesu odebrat v důsledku následujících akcí:
- Proces snižuje nebo vyprázdňuje pracovní sadu voláním funkcí SetProcessWorkingSetSize, SetProcessWorkingSetSizeEx nebo EmptyWorkingSet.
- Proces volá funkci VirtualUnlock v oblasti paměti, která není uzamčena.
- Proces zruší mapování mapovaného zobrazení souboru pomocí funkce UnmapViewOfFile.
- Správce paměti ořezává stránky z pracovní sady, aby uvolnil více dostupné paměti.
- Správce paměti musí odebrat stránku z pracovní sady, aby se uvolnilo místo pro novou stránku (například proto, že pracovní sada má maximální velikost).
Pokud několik procesů sdílí stránku, odebrání stránky z pracovní sady jednoho procesu nemá vliv na jiné procesy. Po odebrání stránky z pracovních sad všech procesů, které ji používaly, se stránka stane přechodovou stránkou. Přechodové stránky zůstanou uložené v mezipaměti RAM, dokud není stránka odkazována nějakým procesem nebo není změněn její účel (například vyplněné nulami a předané jinému procesu). Pokud se přechodová stránka od posledního zápisu změnila na disk (to znamená, že pokud je stránka "špinavá"), musí být stránka zapsána do záložního úložiště, aby bylo možné ji znovu použít. Systém může začít psát špinavé přechodové stránky do jejich záložního úložiště, jakmile budou tyto stránky k dispozici.
Každý proces má minimální a maximální velikost pracovní sady, která ovlivňuje chování stránkování virtuální paměti procesu. Chcete-li získat aktuální velikost pracovní sady zadaného procesu, použijte funkci GetProcessMemoryInfo. K získání nebo změně minimální a maximální velikosti pracovních sad použijte GetProcessWorkingSetSizeEx a SetProcessWorkingSetSizeEx funkce.
Programovací rozhraní aplikace stavu procesu (PSAPI) poskytuje řadu funkcí, které vracejí podrobné informace o pracovní sadě procesu. Podrobnosti najdete v tématu Informace o pracovní sadě.