Condividi tramite


Spazio indirizzi virtuale (gestione della memoria)

Lo spazio degli indirizzi virtuali per un processo è il set di indirizzi di memoria virtuale che può usare. Lo spazio degli indirizzi per ogni processo è privato e non può essere accessibile da altri processi, a meno che non sia condiviso.

Un indirizzo virtuale non rappresenta la posizione fisica effettiva di un oggetto in memoria; Il sistema gestisce invece una tabella di pagine per ogni processo, ovvero una struttura di dati interna usata per convertire gli indirizzi virtuali negli indirizzi fisici corrispondenti. Ogni volta che un thread fa riferimento a un indirizzo, il sistema converte l'indirizzo virtuale in un indirizzo fisico.

Lo spazio degli indirizzi virtuali per Windows a 32 bit è di 4 gigabyte (GB) in dimensioni e diviso in due partizioni: una per l'uso da parte del processo e l'altra riservata per l'uso da parte del sistema. Per altre informazioni sullo spazio indirizzi virtuale in Windows a 64 bit, vedere Spazio indirizzi virtuale in Windows a 64 bit.

Per altre informazioni sulla memoria virtuale, vedere gli argomenti seguenti:

Spazio indirizzi virtuale predefinito per Windows a 32 bit

La tabella seguente mostra l'intervallo di memoria predefinito per ogni partizione.

Intervallo di memoria Utilizzo
Basso 2 GB (0x00000000 fino a 0x7FFFFFFF) Usato dal processo.
High 2GB (0x80000000 through 0xFFFFFFFF) Utilizzato dal sistema.

 

Spazio indirizzi virtuale per Windows a 32 bit con 4GT

Se è abilitata l'ottimizzazione da 4 gigabyte (4GT), l'intervallo di memoria per ogni partizione è il seguente.

Intervallo di memoria Utilizzo
Basso 3 GB (da 0x00000000 a 0xBFFFFFFF) Usato dal processo.
1 GB elevati (da 0xC0000000 a 0xFFFFFFFF) Utilizzato dal sistema.

 

Dopo l'abilitazione di 4GT, un processo con il flag IMAGE_FILE_LARGE_ADDRESS_AWARE impostato nell'intestazione dell'immagine avrà accesso ai 1 GB di memoria aggiuntivi sopra i 2 GB bassi.

Regolazione dello spazio indirizzi virtuale per Windows a 32 bit

È possibile usare il comando seguente per impostare un'opzione di immissione di avvio che configura le dimensioni della partizione disponibile per l'uso da parte del processo su un valore compreso tra 2048 (2 GB) e 3072 (3 GB):

BCDEdit /set increaseuserva Megabytes

Dopo aver impostato l'opzione voce di avvio, l'intervallo di memoria per ogni partizione è il seguente.

Intervallo di memoria Utilizzo
Bassa (da 0x00000000 a megabyte) Usato dal processo.
Alta (da Megabyte+1 a 0xFFFFFFFF) Utilizzato dal sistema.

 

Windows Server 2003: impostare l'opzione /USERVA in boot.ini su un valore compreso tra 2048 e 3072.