Concetti Chiave
- La memoria virtuale è un'estensione della memoria centrale fisica, che utilizza anche lo spazio su disco per lo scambio di dati.
- In GNU/Linux, la memoria virtuale può essere gestita tramite una partizione dedicata o un file sul disco fisso.
- La partizione di scambio è preferita per le prestazioni e per evitare complicazioni durante l'arresto del sistema.
- La dimensione della partizione di scambio dovrebbe essere almeno pari alla memoria RAM, con un minimo consigliato di 1 Gibyte.
- Riservare più spazio del necessario per la memoria virtuale non è dannoso, ma può comportare uno spreco di spazio su disco.
La memoria virtuale
La memoria virtuale è la memoria centrale della macchina virtuale che il sistema operativo realizza. In pratica, questa memoria virtuale si avvale della memoria centrale fisica e, possibilmente, di spazio all'interno di unità a disco. Il meccanismo che consente l'estensione della memoria reale si basa sullo scambio di porzioni di memoria centrale nella memoria di massa. Il termine inglese swap deriva da questa continua operazione di scambio.Con GNU/Linux è possibile attivare la gestione della memoria virtuale utilizzando due tipi di aree nel disco fisso: una partizione dedicata oppure un file.

Da un punto di vista tecnico, la partizione di scambio è preferibile al file di scambio; sia per un motivo legato alle prestazioni, sia per il fatto che si evitano complicazioni nel momento dell'arresto del sistema.
Altre caratteristiche
La scelta della dimensione della partizione di scambio è importante perché una volta deciso, questa normalmente non può più essere cambiata facilmente. La dimensione massima di un'area di scambio è di 128 Mibyte se si utilizzano kernel 2.0.* o precedenti (mentre nella serie 2.2.* questo limite è stato superato) e possono esserne definite un massimo di 16. In generale, per la partizione di scambio è conveniente utilizzare una dimensione pari ad almeno la stessa quantità della memoria RAM effettiva, con un minimo di circa 1 Gibyte (ovviamente disponendo di un kernel abbastanza recente).Riservare uno spazio più grande del necessario per la memoria virtuale, non può essere dannoso; al massimo si traduce in uno spreco di spazio nel disco fisso.
Prima di poter attivare la gestione della memoria virtuale è necessario creare lo spazio in cui devono risiedere le aree di scambio relative. Ciò vale anche nel caso in cui per questo si vogliano utilizzare dei file.
Domande da interrogazione
- Qual è il ruolo della memoria virtuale in un sistema operativo?
- Quali sono le opzioni disponibili per gestire la memoria virtuale su GNU/Linux?
- Quali considerazioni sono importanti nella scelta della dimensione della partizione di scambio?
La memoria virtuale funge da memoria centrale della macchina virtuale, utilizzando la memoria centrale fisica e, se necessario, spazio su disco per estendere la memoria reale tramite lo scambio di porzioni di memoria.
Su GNU/Linux, la gestione della memoria virtuale può essere attivata utilizzando una partizione dedicata o un file sul disco fisso, con la partizione di scambio preferibile per motivi di prestazioni e semplicità.
È importante scegliere una dimensione adeguata per la partizione di scambio, idealmente pari alla memoria RAM effettiva, con un minimo di circa 1 Gibyte, tenendo conto delle limitazioni del kernel utilizzato.