Concetti Chiave
- La memoria virtuale gestisce la memoria nei sistemi moderni attraverso la paginazione, senza necessità di caricare l'intero codice del processo in memoria.
- Consente di aumentare il grado di multiprogrammazione, caricando più processi a parità di memoria fisica disponibile.
- Supporta l'esecuzione di processi che superano la dimensione della memoria fisica, ampliando le capacità di elaborazione.
- La memoria virtuale può essere organizzata in pagine di dimensione uniforme o in segmenti di dimensione variabile, a seconda della gestione del processo.
- La MMU gestisce le assenze di pagine virtuali tramite il meccanismo del page fault, segnalando la necessità di accedere a una pagina non presente in memoria.
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.
Vantaggi della memoria virtuale
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 ).
Domande da interrogazione
- Qual è il principale vantaggio della memoria virtuale nei sistemi attuali?
- Come viene gestita la memoria virtuale in relazione alla dimensione dei processi?
- Cosa indica il termine "page fault" nella gestione della memoria virtuale?
Il principale vantaggio della memoria virtuale è che consente di caricare un numero maggiore di processi a parità di memoria fisica installata, aumentando così il grado di multiprogrammazione del sistema.
La memoria virtuale permette di eseguire processi di dimensione superiore a quella della memoria fisica, grazie alla suddivisione dei processi in pagine o segmenti, a seconda delle necessità.
Il termine "page fault" si riferisce alla situazione in cui la MMU segnala l'assenza in memoria di una pagina virtuale, evidenziando la necessità di gestire l'accesso a dati non presenti in memoria centrale.