Programmazione.it v6.2
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Chat Forum
Registro di Windows: come e perché deframmentarlo (1/2)
Scritto da Lorenzo Motti il 18-06-2009 ore 10:01
Intel Parallel Amplifier 2011
Il famoso registro di Windows usa un modello di allocazione simile a quella utilizzata per i file da parte del file system: è per questo che un'analoga deframmentazione gioverebbe sia all'occupazione di spazio, che all'aumento delle prestazioni, soprattutto quando l'occupazione su disco inizia a crescere in maniera rilevante: fino a 20-40 MB per XP, per non parlare dei 60-80 MB di Vista.

Il registro di Windows svolge un'importante funzione sia a livello statico che dinamico: oltre a contenere ogni sorta di informazioni sul sistema operativo, possiede anche dati vitali a runtime su hardware, driver, periferiche e software utilizzati nel computer. Per questo, col passare del tempo, esso può arrivare a contenere una certa quantità di rimasugli inutili, sia riguardanti vecchie periferiche che software non completamente - o erroneamente - disinstallato.

Ma andiamo ad analizzare la struttura fisica del registro, o al limite a rinfrescare la memoria ai lettori che ne fossero già edotti. I dati di registro sono immagazzinati in particolari strutture dette hive (alveari), che riflettono l'organizzazione gerarchica delle chiavi e dei valori. Gli hive sono a loro volta suddivisi in blocchi, simili ai cluster utilizzati dal file system; l'ampiezza dei blocchi è settata di default a 4 KB: ogni volta che nuovi dati sono aggiunti a un hive, esso aumenta la sua dimensione tramite passi di 4 KB.

Dentro un hive, per continuare la similitudine, i dati sono suddivisi in cellule: una cellula può contenere una chiave, un valore, un SID o una lista di sotto-chiavi o valori di chiave. Il primo campo di una cellula identifica il tipo di dato, seguito da uno o più valori di quel tipo; appena una cellula si unisce all'hive, esso viene espanso per contenerla di un'unità di spazio detta bin (letteralmente, contenitore), che rappresenta l'ampiezza della cellula, aumentata dallo spazio necessario per raggiungere un multiplo di 4 KB; lo spazio allocato potrebbe quindi rimanere parzialmente vuoto, se non è utilizzato da altre cellule.

Inoltre, appena viene cancellato un valore o una chiave di registro, le celle che contengono tale valore vengono deallocate, e passate a una lista di spazio libero, la quale può essere allocata nuovamente on demand. Tale politica porta chiaramente a un'ulteriore frammentazione e, ciò che è peggio, Microsoft non mette a disposizione nessuna utility di defrag per il registro di configurazione. Per questo, nella seconda parte, andremo ad analizzare il funzionamento di varie utility adatte allo scopo, recensite in un articolo su InformIT, dal quale, tra l'altro, ho tratto questa breve introduzione.
Precedente: Come personalizzare il layout di JBoss Portal (2/2)
Successiva: Quindici errori di progettazione nei PC dell'Era Classica (2/2)
Intervento di Marco Zordan a.k.a. customsoft del 22-06-2009 ore 09:42, Arzignano (VI)
Cavaliere
Cavaliere

(103 interventi)
Iscritto il 14-02-2002
60-80?!?
Fors avendo Vista 64 Ultimate questi valori non valgono
Comunque defrag fatto. Da 168 Mb son passato a 133.
Saluti
Marco (SE&O)
Copyright Programmazione.it™ 1999-2009. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.715 secondi. Sito ottimizzato per Mozilla Firefox. Powered by Kyron.