|
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 :-))
|