Istruttore: In questa
lezione parleremo della memoria virtuale.
La memoria virtuale, nota anche come file di pagina,
è essenzialmente un
blocco di spazio sul disco rigido o sull'unità a stato
solido che viene allocato dal sistema
operativo e finge di essere memoria,
o RAM, quando la RAM fisica è insufficiente per i programmi
in esecuzione.
Si tratta di un'ottima funzione
della maggior parte dei sistemi operativi
moderni, che consente di emulare la presenza di
una quantità di memoria superiore
a quella reale.
Tenete però presente
che questa non è una soluzione perfetta per tutte le soluzioni
e che si tratta più che altro di una soluzione temporanea;
se si utilizza molta RAM virtuale, probabilmente sarà
necessario aumentare anche la RAM fisica del
sistema.
Perché?
Ricordiamo che, quando
si tratta di diversi tipi di memoria
e di archiviazione, esistono tre tipi principali.
La memoria cache all'interno del processore
è estremamente veloce.
Poi c'è la memoria fisica ad accesso casuale,
o memoria di sistema,
e la RAM è più lenta della cache, ma è
comunque molto più veloce dell'uso di un dispositivo di archiviazione,
come un disco rigido o persino un'unità a stato solido più veloce.
In definitiva, non esiste un vero e proprio sostituto
della memoria fisica, ma in caso di necessità è possibile
utilizzare la RAM virtuale.
Quando si parla di RAM virtuale o di memoria virtuale,
come spesso la chiamiamo,
ne esistono due tipi.
Se si utilizza un sistema
Windows, si parla di file di pagina.
Se si utilizza un sistema Linux, Unix o Mac, questo spazio
viene solitamente chiamato spazio di swap.
Entrambe le cose hanno lo stesso identico significato.
Si tratta essenzialmente di un file
nascosto sul dispositivo di archiviazione che aumenta
di dimensioni e finge di essere la memoria di sistema.
Quindi, quando la memoria fisica del sistema
si esaurisce, i dati vengono trasferiti dalla memoria
fisica al file di pagina o allo spazio di swap,
facendo finta di avere più memoria di quella che si ha.
Un chiaro segnale che indica
che si sta facendo troppo affidamento sulla memoria virtuale
si ha quando si inizia a sentire il disco rigido girare spesso
mentre si lavora su diversi programmi.
Questo perché le cose vengono scambiate
dentro e fuori dal file di pagina o dallo
spazio di swap e di nuovo nella RAM.
E ogni volta che ciò accade,
deve leggere e scrivere dal disco rigido,
rallentando l'intero sistema
e tutti gli altri processi.
Quando si ha a che fare con la memoria
virtuale, il sistema operativo
assegna le posizioni di memoria
ai diversi processi in blocchi di
quattro kilobyte.
Questi pezzi sono noti come pagine.
Ora, il controller di memoria sarà in grado di spostare
le cose all'interno o all'esterno della memoria fisica
utilizzando questi blocchi o pagine da quattro kilobyte, liberando così
una maggiore quantità di memoria fisica.
Ma ricordate che la CPU del sistema non può leggere direttamente
dal disco rigido come può fare dalla memoria usando il suo bus, e quindi quel
materiale deve essere impaginato dentro e fuori dalla
memoria dal file di swap o dal file di pagina
in modo da poterlo usare.
Se iniziate a notare un forte rallentamento del sistema, ricordate
che probabilmente si tratta di un problema di memoria, quindi
controllate la memoria disponibile
e la quantità di memoria libera.
E se non ne avete molta, potrebbe essere il momento
di aggiungere altra memoria fisica.
Nel frattempo, però, è possibile aumentare le dimensioni
della memoria virtuale o del file di pagina o dello
spazio di swap per poterne contenere un po' di più e far credere
al sistema di avere più memoria di quanta ne abbia
in realtà, come soluzione intermedia fino a quando
non sarà possibile installare un modulo fisico di RAM.