Stato pagina
Le pagine dello spazio indirizzi virtuale di un processo possono trovarsi in uno degli stati seguenti.
Stato | Descrizione |
---|---|
Gratuito | La pagina non è né sottoposta a commit né riservata. La pagina non è accessibile al processo. È disponibile per essere riservata, sottoposta a commit o contemporaneamente riservata e sottoposta a commit. Il tentativo di leggere o scrivere in una pagina libera genera un'eccezione di violazione di accesso. Un processo può usare la funzioneVirtualFreeo VirtualFreeEx per rilasciare pagine riservate o di cui è stato eseguito il commit dello spazio indirizzi, restituendoli allo stato libero. |
Riservato | La pagina è stata riservata per un uso futuro. L'intervallo di indirizzi non può essere utilizzato da altre funzioni di allocazione. La pagina non è accessibile e non ha alcuna risorsa di archiviazione fisica associata. È disponibile per il commit. Un processo può usare la funzione VirtualAlloc o VirtualAllocEx per riservare le pagine dello spazio indirizzi e in un secondo momento per eseguire il commit delle pagine riservate. Può usare VirtualFree o VirtualFreeEx per decommettere le pagine di cui è stato eseguito il commit e restituirle allo stato riservato. |
Impegnato | Gli addebiti per la memoria sono stati allocati dalle dimensioni complessive della RAM e dei file di paging su disco. La pagina è accessibile e l'accesso è controllato da una delle costanti di protezione della memoria . Il sistema inizializza e carica ogni pagina sottoposta a commit in memoria fisica solo durante il primo tentativo di lettura o scrittura in tale pagina. Al termine del processo, il sistema rilascia la risorsa di archiviazione per le pagine di cui è stato eseguito il commit. Un processo può usare VirtualAlloc o VirtualAllocEx per eseguire il commit di pagine fisiche da un'area riservata. Possono anche riservare e confermare le pagine contemporaneamente. Le funzioni GlobalAlloc e LocalAlloc allocano le pagine di cui è stato eseguito il commit con accesso in lettura/scrittura. |