Memoria virtuale è il nome assegnato all’intervallo di indirizzi contigui utilizzato da un programma per computer. Affinché un programma possa essere eseguito, le sue istruzioni devono risiedere nella memoria fisica. Tuttavia, quando ci sono diversi programmi in esecuzione contemporaneamente o quando non c’è abbastanza memoria fisica per comprendere la quantità di memoria necessaria a un programma, il computer utilizza la memoria virtuale per soddisfare le esigenze del programma. **

Ad esempio, se due programmi sono in esecuzione allo stesso tempo, ogni programma tratta la memoria come se fosse un unico grande blocco contiguo che inizia dall’indirizzo zero e si estende per quanto necessario. Poiché ogni programma non può accedere contemporaneamente alla memoria all’indirizzo fisico zero, il computer crea blocchi (intervalli di indirizzi) di memoria virtuale che fanno sembrare a ciascun programma che abbia tutta la memoria del computer per sé.

La memoria virtuale viene utilizzata anche quando i programmi richiedono più memoria di quella fisicamente presente nel computer. Il computer utilizza un processo chiamato paging per consentire ai programmi di accedere a più memoria di quella fisicamente esistente.

Attraverso il paging, il computer tiene traccia di quali blocchi di memoria fisica sono attualmente disponibili, scrive il contenuto di quei blocchi su disco e quindi legge dal disco i dati scritti in precedenza di cui ha bisogno il programma attualmente in esecuzione. Utilizzando il disco come supporto di memorizzazione temporaneo, molti programmi diversi possono essere eseguiti contemporaneamente e accedere a grandi porzioni di memoria senza doversi preoccupare se i dati sono fisicamente in memoria in quel momento o devono essere impaginati da disco.

Questo suggerimento (12623) si applica a Windows 7, 8 e 10.