Concetti Chiave
- La memoria virtuale estende la memoria centrale fisica utilizzando anche spazio su disco tramite meccanismi di scambio, noto come swap.
- GNU/Linux offre due opzioni per la gestione della memoria virtuale: una partizione dedicata o un file, con la partizione preferita per migliori prestazioni.
- La dimensione della partizione di scambio è cruciale e dovrebbe idealmente essere pari alla RAM, con un minimo di 1 Gibyte, a causa delle limitazioni dei kernel.
- Riservare spazio aggiuntivo per la memoria virtuale non è dannoso, ma può comportare uno spreco di spazio su disco.
- È necessario creare lo spazio per le aree di scambio prima di attivare la gestione della memoria virtuale, indipendentemente dalla scelta tra partizione o file.
In questo appunto viene descritta la memoria virtuale che è la cosiddetta memoria centrale della macchina virtuale che il sistema operativo realizza. Vengono descritte le sue caratteristiche principali.
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.
Gestione della memoria in GNU/Linux
Con GNU/Linux è possibile attivare la gestione della memoria virtuale utilizzando due tipi di aree nel disco fisso: una partizione dedicata oppure un file. Dal momento che possono essere gestite diverse aree di scambio, conviene attivarne almeno una, utilizzando una partizione dedicata.
In pratica, la partizione di scambio dovrebbe consentire almeno la gestione normale del sistema, mentre i file di scambio potrebbero servire come un mezzo eccezionale per estenderne la dimensione.
Importanza della partizione di scambio
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.
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.

Preparazione delle aree di scambio
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 nel sistema operativo?
- Perché è preferibile utilizzare una partizione di scambio rispetto a un file di scambio in GNU/Linux?
- Qual è la dimensione consigliata per la partizione di scambio in relazione alla memoria RAM?
La memoria virtuale è la memoria centrale della macchina virtuale realizzata dal sistema operativo, che utilizza la memoria centrale fisica e, se necessario, spazio su disco per estendere la memoria reale attraverso lo scambio di porzioni di memoria (swap).
La partizione di scambio è preferibile al file di scambio per motivi di prestazioni e per evitare complicazioni durante l'arresto del sistema, garantendo una gestione più efficiente della memoria virtuale.
È consigliabile che la dimensione della partizione di scambio sia almeno pari alla quantità di memoria RAM effettiva, con un minimo di circa 1 GiByte, per garantire un funzionamento ottimale del sistema.