Telefonino.net network
Win Base Win Adv Win XP Vista Windows 7 Registri Software Manuali Humor Hardware Recensioni Blog Download Foto
INDICE SEZIONE NEWS WEB NEWS SOFTWARE PUBBLICITA'
Swap file Virtuale

pagina 1/2

Migliorare le prestazioni del file di swap in Windows 98 - by Casper

I sistemi operativi Microsoft, da Windows 95 in poi, sono famosi per la loro fame di memoria. Sono ormai lontani i tempi in cui Bill Gates dichiarava che "640 Kb di RAM basteranno a tutti per far girare qualunque cosa". Oggi possiamo considerarci fortunati se Windows 98 riesce a girare con prestazioni più o meno accettabili su un PC dotato di 64 Mb.

In ogni caso, indipendentemente dalla dotazione di RAM del sistema, fin dalla versione 3.x le finestre colorate dello zio Bill hanno fatto uso di una particolare estensione della memoria fisica, conosciuta come memoria virtuale. Per farla breve, Windows gestisce la memoria fisica disponibile in modo dinamico, trasferendo di volta in volta su hard disk in un file denominato win386.swp blocchi di dati non immediatamente necessari, per fare posto alle diverse necessità delle applicazioni avviate.

In un sistema standard il file di memoria virtuale (swap) si troverà sull'unità predefinita del sistema operativo e avrà dimensioni variabili a seconda della configurazione e delle applicazioni attive.


La principale differenza fra la memoria fisica e quella virtuale è rappresentata dal fatto che la prima è costituita da un supporto completamente elettronico con tempi di accesso misurabili in nanosecondi, e quindi estremamente veloce. La seconda è invece gestita su hard disk, un supporto meccanico con tempi di accesso neppure paragonabili e pesantemente condizionata da diversi fattori, fra cui la velocità di funzionamento dei componenti, lo stato di frammentazione del file di swap e la sua posizione verso l'inizio o la fine dell'unità.

Probabilmente tutti conosciamo almeno qualcuno dei sistemi tradizionali per aumentare le prestazioni della memoria virtuale:

  1. disattivare il file di swap, deframmentare l'hard disk e riattivare la memoria virtuale impostata con una dimensione fissa
  2. impostare una dimensione fissa e usare una utility,  come Speed Disk  delle Norton Utilities, per spostare il file di swap all'inizio dell'unità disco, dove la velocità di lettura e scrittura dei dati (transfer rate) è massima
  3. creare una partizione riservata esclusivamente al file di swap

Di questi, il metodo che garantisce le migliori prestazioni è il n. 2, ma anche in questo modo la memoria virtuale dovrà pur sempre fare i conti con i tempi di accesso tipici di un supporto meccanico.

Vi siete mai chiesti cosa succederebbe se fosse possibile togliere il file di swap dall'hard disk e spostarlo in memoria RAM?


Trasferire il file di swap in memoria RAM

In teoria non è realizzabile. Windows infatti non permette di trasferire il file di swap su una unità disco costituita di memoria RAM attraverso le impostazioni delle Proprietà di sistema. Come spesso succede, però, quello che non si può fare con sistemi normali può essere comunque ottenuto attraverso un piccolo trucco.

In ambiente DOS è possibile creare una specie di hard disk virtuale all'interno della memoria RAM. Senza scendere in particolari, questa nuova unità avrà la sua brava lettera come le altre, potrà avere un'etichetta e si comporterà esattamente come un hard disk qualsiasi, con due sole differenze: sarà enormemente più veloce e, spegnendo il PC o mancando la corrente, tutto il suo contenuto verrà cancellato. (Wintricks.com copyright)

Trasferendo il file di swap su una unità di questo tipo, in teoria le prestazioni del sistema dovrebbero aumentare in modo eccezionale.

Facile a dirsi.

I problemi più gravi da risolvere per ottenere questo risultato sono stati tre:

·         Windows non permette di trasferire il file di swap su un disco RAM

·         con gli strumenti di DOS è possibile creare dischi RAM di max. 32 Mb

·         i dischi RAM sono gestiti sotto Windows in modalità DOS compatibile

Vedremo fra poco come aggirare il primo problema.


Il secondo è stato finora risolto solo in parte: ramdrive.sys fornito con DOS gestisce infatti unità RAM non più grandi di 32 Mb, cioè del tutto insufficienti se il nostro scopo è spostarci il file di swap di Windows. La ricerca di un gestore di unità RAM più moderno,  meno limitato del vecchissimo ramdrive.sys e freeware ha richiesto ore di noiosa navigazione in rete. A questo proposito voglio ringraziare Paolo Russo, che per primo ha recuperato da Internet un gestore gratuito in grado di andare oltre i 32 Mb e sempre per primo è stato così gentile da testare questo esperimento su una piattaforma completamente non-Intel. Purtroppo anche questa prima soluzione si è rivelata insufficiente: il gestore alternativo (Turbodsk 2.2) è in grado di arrivare fino a 64 Mb, ma Windows risponde trattando tutte le unità del PC in modalità DOS compatibile, riducendo fortemente le prestazioni.

Altre ore di ricerca con il sospetto che fosse tempo perso. finchè ho trovato Xmsdsk 1.9i, di Franck Uberto, un programmatore francese. Xmsdsk 1.9i è freeware e il suo autore afferma che può generare senza nessun problema unità RAM fino a 2 Gb (!) Durante i test, Windows ha gestito normalmente tutte le unità HD del PC, limitandosi a riconoscere in modalità DOS compatibile solo l'unità RAM.

Quest'ultimo particolare rappresenta appunto il terzo problema, finora senza soluzione. Una unità disco funzionante in modalità DOS compatibile avrà prestazioni inferiori al normale, ma noi stiamo parlando di un disco virtuale fatto di memoria RAM.che nonostante tutto sarà sempre infinitamente più veloce di qualsiasi hard disk.


A questo punto, non ci resta che passare.

Dalla teoria alla pratica ...

 

Articoli correlati:

Swap File Windows avanzato
Swap File Windows XP
System.ini

 In evidenza Registrare la TV da iPhone e iPad



Nel Web in WinTricks
Copyright © 1999-2012 Master New Media s.r.l. p.iva: 02947530784
COPYRIGHT . PRIVACY . REDAZIONE . STORIA . SUPPORTA
 

Warning: include(/mnt/host/www/wintricks/wintricks.it/www/bottom.php) [function.include]: failed to open stream: Permission denied in /mnt/host/www/wintricks/wintricks.it/www/faq/swap_file.html on line 210

Warning: include() [function.include]: Failed opening '/mnt/host/www/wintricks/wintricks.it/www/bottom.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /mnt/host/www/wintricks/wintricks.it/www/faq/swap_file.html on line 210