Che cosa è la memoria virtuale. Come e da dove si gestisce
Che cosa è la memoria virtuale
Partiamo da una semplice domanda: cosa succede se tutte le applicazioni
attivate del nostro computer consumano tutte le risorse di memoria? Si potrebbe
pensare che il sistema si blocca, senza sapere, invece, che windows ricorre
alla memoria virtuale. La memoria virtuale possiamo considerarla come una emulazione,
tramite software, della presenza di memoria RAM superiore a quella fisica presente
nel nostro sistema, effettivamente installata. In parole semplici viene simulata
la presenza di altra memoria utilizzando il disco rigido e tecniche di compressione.
Con l'uso della memoria virtuale un software ha a disposizione un numero maggiore
di indirizzi (address) che servono per registrare istruzioni e dati che, al
momento dell'utilizzo, saranno poi trasferiti nella memoria reale (RAM). Quindi
grazie alla memoria virtuale sarà possibile lavorare con dei software
che richiedono maggiore memoria di quella fisicamente disponibile. Naturalmente,
poiché il software non entra nella memoria fisica, è necessaria
una continua azione di trasferimento di istruzioni e dati dalla memoria virtuale
a quella reale. Questo trasferimento avviene in porzioni, suddividendo la memoria
virtuale in tante parti, chiamate 'pagine' (page) ognuna con un determinato
numero di indirizzi. Questa suddivisione si chiama 'paging'. Mentre il processo
di trasferire le istruzioni ed I dati dalla memoria virtuale alla memoria fisica
e viceversa, si chiama 'swapping'. Per finire il concetto, il file, registrato
sul disco rigido, che ospita la memoria virtuale, si chiama 'swap file'.
Inoltre dobbiamo sapere che Windows gestisce la memoria fisica disponibile nel
nostro pc in modo dinamico, in quanto trasferisce di volta in volta sull'hard
disk in un file denominato win386.swp blocchi di dati che non sono immediatamente
necessari, per fare posto alle diverse necessità delle applicazioni attivate.
La differenza più evidente fra la memoria fisica e quella virtuale è
data dal fatto che quella fisica è costituita da un supporto completamente
elettronico, quindi con tempi di accesso misurabili in nanosecondi (inutile
dire che in questo caso è molto veloce). La seconda, quella virtuale,
è invece gestita su hard disk: supporto meccanico con tempi di accesso
non paragonabili a quelli della memoria fisica e molto condizionata da diversi
fattori, fra cui la velocità di funzionamento di tutti i componenti,
lo stato di frammentazione del file di swap, ecc....
Viziato mi hai stancato con queste chiacchiere, dimmi dove si trova la memoria
virtuale
Vediamo da dove si gestisce la memoria virtuale. Clicchiamo con il destro
del mouse sull'icona Risorse del computer presente nel desktop, e selezioniamo
Proprietà , spostiamoci in Prestazioni
in basso a destra di questa finestra troviamo il pulsante Memoria
virtuale, clicchiamoci
Adesso selezionando Impostazione manuale, è possibile stabilire
quanto spazio dobbiamo assegnare su disco.
Per aumentare le prestazioni della memoria virtuale vi sono diversi
metodi:
1) è possibile creare una partizione riservata esclusivamente
per il file di swap. 2) si potrebbe disattivare il file di swap, deframmentare
tutto l’hard disk e riattivare la memoria virtuale impostandola con una
dimensione fissa (minima e massima). 3) Oppure, per finire possiamo impostare
una dimensione fissa e usare un software, come ad esempio Speed Disk delle Norton
Utilities. Questo programma sposta il file di swap all’inizio dell’unitÃ
disco, dove la velocità di lettura e scrittura dei dati (transfer rate)
è massima
Di tutti questi, il metodo che garantisce le migliori prestazioni è il
terzo, ma in ogni caso non dobbiamo dimenticare che la memoria virtuale dovrÃ
pur sempre fare i conti con i tempi di accesso tipici di un supporto meccanico,
qual'è l'hard disk.
Dopo aver letto questo articolo fatevi dare un consiglio: lasciate la gestione
della memoria virtuale così come si trova di default (cioè la
gestione automatica della memoria virtuale). Ma allora questo articolo perchè
l'ho scritto? Bho! evidentemente ho problemi di memoria nel mio cervello e mi
piacerebbe aggiungerne altra :-))