Concetti Chiave
- La memoria virtuale combina memoria centrale e memoria di massa, permettendo al programmatore di gestire solo le pagine necessarie per l'esecuzione del processo.
- La paginazione su richiesta consente di caricare solo le pagine necessarie in RAM, mantenendo le altre in memoria di massa per ottimizzare l'uso delle risorse.
- Il paginatore è responsabile della selezione e del caricamento delle pagine necessarie, migliorando l'efficienza della gestione della memoria virtuale.
- In caso di necessità di una pagina non presente in RAM, viene generata un'eccezione di pagina mancante che attiva il caricamento dalla memoria di massa.
- La gestione della sovrallocazione prevede la sostituzione di pagine non utilizzate in RAM con quelle necessarie, garantendo un utilizzo ottimale della memoria disponibile.
La memoria virtuale è un blocco di memoria logica di cui fanno parte la memoria centrale e la memoria di massa mentre, lo spazio degli indirizzi, viene detto spazio degli indirizzi virtuali.
Come funziona la paginazione su richiesta?
Grazie alla memoria virtuale il programmatore non deve più preoccuparsi delle dimensioni della RAM, poiché non vi vengono caricate tutte le pagine del processo ma solo quelle necessarie al suo funzionamento mentre tutte le altre pagine accessorie non immediatamente necessarie rimangono nella memoria di massa, questa tecnica viene chiamata paginazione su richiesta. Il modulo del S.O. che gestisce tale tecnica è il paginatore, che seleziona e carica solo le pagine che prevede siano necessarie.
Gestione delle eccezioni e sovrallocazione
Se durante l’esecuzione del processo si rende necessaria una pagina non presente, viene prelevata dalla memoria di massa e trasferita in RAM. Per gestire in modo efficiente la paginazione su richiesta occorre inserire nella tabella delle pagine un bit di validità che consente di verificare se la pagina è caricata in memoria centrale, se non è presente viene generata un’eccezione di pagina mancante e la pagina viene caricata in memoria centrale. In caso di sovrallocazione viene eseguita la sostituzione delle pagine spostando una pagina non utilizzata in memoria di massa sostituendola con quella necessaria.
Domande da interrogazione
- Qual è il ruolo della memoria virtuale nel funzionamento dei programmi?
- Come funziona la paginazione su richiesta?
- Cosa succede se una pagina necessaria non è presente in memoria?
La memoria virtuale consente ai programmatori di non preoccuparsi delle dimensioni della RAM, caricando solo le pagine necessarie per l'esecuzione del processo, mentre le altre rimangono nella memoria di massa.
La paginazione su richiesta è gestita dal paginatore del sistema operativo, che seleziona e carica solo le pagine previste come necessarie, ottimizzando l'uso della memoria.
Se una pagina non è presente in memoria centrale, viene generata un'eccezione di pagina mancante e la pagina viene prelevata dalla memoria di massa e caricata in RAM.