Concetti Chiave
- La memoria virtuale permette di gestire la memoria senza richiedere che l'intero processo sia presente in memoria fisica, aumentando l'efficienza.
- Consente di caricare più processi contemporaneamente, migliorando il grado di multiprogrammazione grazie alla sua capacità di gestire memoria fisica limitata.
- Supporta l'esecuzione di processi più grandi della memoria fisica disponibile, suddividendo il processo in pagine o segmenti.
- La memoria virtuale a pagine suddivide il processo in blocchi di dimensioni uguali, mentre la memoria virtuale a segmenti utilizza dimensioni diverse.
- La MMU (Memory Management Unit) segnala la mancanza di una pagina virtuale in memoria, fenomeno noto come page fault.
La memoria virtuale
La memoria virtuale è il modo standard di gestire la memoria negli attuali sistemi.Sfrutta il meccanismo della paginazione , ma non richiede la presenza in memoria del codice dell'intero processo. Non è necessario che un processo, in un dato intervallo di tempo , tende ad accedere agli stessi indirizzi di memoria e quindi solo il loro contenuto deve essere presente in memoria centrale.
Presenta i seguenti vantaggi: a parità di memoria fisica installata si possono caricare un maggior numero di processi aumentando il grado di multiprogrammazione del sistema;
E' possibile eseguire processi di dimensione superiore a quella della memoria fisica..
Nella gestione della memoria virtuale ci sono due modi di gestire le parti nelle quali è suddiviso un processo: memoria virtuale a pagine: quando il processo è suddiviso in blocchi della stessa dimensione:
memoria virtuale a segmenti: se il processo è suddiviso in parti avente dimensione diversa..
Lo spazio di memoria virtuale del processo è composto da un certo numero di pagine aventi tutti la stessa dimensione..
Lo spazio di memoria reale è composto da un certo numero di blocchi della stessa dimensione di quella delle pagine.
La MMU dev'essere in grado di segnalare l'assenza in memoria di una pagina virtuale.Questa situazione si indica con il termine di page fault (assenza di pagina ).