I metodi di gestione della memoria primaria tentano di tenere in MP più processi possibile per aumentare la multiprogrammazione. Naturalmente, il numero di processi che possono stare in MP dipende anche dalla loro dimensione. La Memoria Virtuale (MV) è un insieme di tecniche per permettere l’esecuzione di processi la cui immagine (codice e/o dati) non è completamente in Memoria Primaria. La MV funziona perché i programmi non hanno bisogno di essere caricati interamente in MP per essere eseguiti. Ad esempio:
il codice per trattare condizioni di errore potrebbe non essere mai usato
array, liste, tabelle sono spesso dichiarate di dimensioni maggiori di quanto poi effettivamente usato
alcune opzioni di programma sono raramente usate
le librerie dinamiche possono essere caricate in RAM solo se e quando sono effettivamente usate
L’idea di fondo della Memoria Virtuale è quindi la seguente: carichiamo in MP un pezzo di programma solo se questo deve effettivamente essere eseguito, e solo quando deve essere eseguito In questo modo i programmi partono più velocemente, perché non dobbiamo caricarli completamente in memoria e possiamo avere contemporaneamente in esecuzione programmi che, assieme, occupano più spazio della MP disponibile. Le due tecniche fondamentali usate per la gestione della Memoria Virtuale sono:
demand paging: (paginazione su richiesta)
demand segmentation: più raramente perché più complessa e meno efficiente
Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.