Il Registro di Sistema visto da vicino

In questa seconda lezione vedremo da vicino e meglio ilRegistro di Sistema.
Premessa: adottare massima cautela, coscome scritto nella lezione n¡ 1, nell' adoperarequesta parte del Sistema Operativo.
da START >> ESEGUI >> digitare REGEDIT nellatext-box;
ecco cosa apparirÆ:

Schermata del registro di sistema

a sinistra c'? una struttura che possiamo definire adalbero, composta da 5 cartelle; tutte hanno un prefisso checomincia per HKEY (Handle to a Key); ? inrealtÆ un termine di programmazione che indica una vocea cui lo sviluppatore puÜ accedere dall'applicazione. Esse possono espandersi fino a mostrare altresottochiavi. La struttura di Win XP Pro, ne conta 5.

Registro di Sitema espanso

Passiamo ad esaminare adesso le singole chiavi; (il Reg. diSistema preso in esame ? queloo di Win XP Pro).
HKEY_CLASSES_ROOT: contiene informazioniutilizzate da diverse tecnologie OLE e i dati sull'associazione di classi di file che corrispondono al registrodi sistema di Win x MS-DOS. Per esempio, una chiave o unvalore particolare si trova inHKEY_CLASSES_ROOT se la chiave o il valorecorrispondente si trova anche inHKEY_LOCAL_MACHINESOFTWAREClasses o inHKEY_CURRENT_USERSOFTWAREClasses. Se unachiave o un valore si trova in entrambe le posizioni, quellache viene visualizzata in HKEY_CLASSES_ROOT? la stessa versione contenuta inHKEY_CURRENT_USER.

HKEY_CURRENT_USER: contiene il profiloutente dell' operatore in quel momento connesso al pc inmodalitÆ interattiva, incluse variabili di ambiente,impostazioni del desktop, connessioni di rete, stampanti epreferenze di programma. Il termine USER, infatti, siriferisce proprio all' utente.

HKEY_LOCAL_MACHINE: contiene informazionisul computer locale; dati relativi all' hardware, al SO,memoria di sistema, driver di periferica, dati per ilcontrollo all' avvio.

HKEY_USERS: contiene informazioniriguardanti i profili utente e il profilo predefinitocaricati in quel momento, comprese le informazioni presentiin HKEY_CURRENT_USER.

HKEY_CURRENT_CONFIG: contiene informazionisul profilo dell' hardware utilizzato dal sistema del pcall' avvio. Tali informazioni vengono utilizzate perconfigurare determinate impostazioni quali: driver diperiferica da caricare, risoluzioni dello schermo ecc.

Hive e file del Registro

Il termine hive indica un insiemedi dati simili; in questo caso chiavi, sottochiavi e valoriche ha origine nel livello superiore del Reg. di Sistema. Unhive ? salvato in un solo file e in un file".log" in Winsystem32config e WinDocuments andSettingsomeutente. Per impostazione predefinita la maggiorparte degli hive DEFAULT, SAM, SECURITY, SOFTWARE eSYSTEM, ? memorizzata nella cartella Winsystem32config. InWin XP Pro, la posizione delle informazioni del profiloutente relative ad ogni utente del computer, inclusi i filesNtuser.dat e Ntuser.dat.log, sonomemorizzati nella cartella WinDocuments and Settingsnomeutente.

Voci di valore nelle chiavi del Registro di Sistema

Ogni chiave e sottochiave del Registro di Sistema puÜcontenere dati che sono definiti: Voci di valore.
I dati memorizzati in alcune voci di valore riguardano isingoli utenti mentre altre riguardano tutti gli utenti cheaccedono ad un computer. Una voce di valore si compone di treparti:
nome del valore, il tipo di dati e il valorestesso.
Ecco uno schema con il quale si presenta una voce di valore:

Nome: REG_MULTI_SZ: Valore

Il tipo di dati indica il formato. I tipi di dati compresitra 0 e 0x7FFFFFFF sono riservati alle definizioni delsistema. Sarebbe meglio che i programmi usino questo tipo didati, ma ad essi sono anche riservati dati compresi tra:0x80000000 e 0x7FFFFFFF.
Diamo uno sguardo ai tipi di dati utilizzati dalsistema.

REG_BINARY: (Binari) Questi tipi di valoricontengono un valore binario visualizzato in bytes usando unformato esadecimale. Si possono creare stringhe binarie diqualsiasi lunghezza, che possono contenere ogni tipo di dato.I valori binari di solito contengono dati che il computer nonpuÜ rappresentare in forma di stringhe o come DWOR,come, ad esempio, un' immagine.

REG_DWORD: (DWORD) Questi tipi di valoricontengono voci in double-word, che corrisponde ad un numerocompreso tra 0 e 4.294.967.295. In genere un valore DWORDviene usato per un valore numerico molto preciso. Peresempio, un' applicazione puÜ permettere diconfigurare il numero degli ultimi file usati nel MenuFile.

REG_EXPAND_SZ: (Stringa espandibile) Questitipi di valori contengono stringhe che includono un valore diespansione. Per esempio si puÜ vedere il valore diespansione di "%ProgramFiles%" che equivale allaposizione della cartella Programmi della propriamacchina.

REG_MULTI_SZ: (Multi -Stringa) Questo tipodi valori contengono stringhe multiple in formato leggibileda un essere umano. Lo sviluppatore separa ognuna di questestringhe con un carattere null; inoltre usa questo tipo distringhe per le voci di un menu a discesa.

REG_SZ: (Stringhe) Stringa di testo alunghezza fissa. La stringa deve finire con uno 0 (null)attaccato. La parte SZ del tipo sta per "StringZero". Il Registro usa questo valore per tutto; ilpercorso dei files, configurazioni utente fino aiGlobally Unique Identifiers (GUID), usati per icomponenti ed altri riferimenti.

Dimensione del Registro di Sistema

I dati del Registro di Sistema vengono memorizzati in unaparte della memoria, chiamata pool di paginazione, e scrittisul disco fisso, quando questi non ? in uso. La dimensionedel Reg. di Sistema non ? altro che un valore il qualeimpedisce ai programmi di esaurire completamente il pool dipaginazione con i dati del Reg. di Sistema. Per impostazionepredefinita, la dimensione massima del Reg. di Sistema ? parial 33% del pool di paginazione. é ammessa unadimensione massima pari all' 80% del pool di paginazione.La dimensione minima del Reg. di Sistema ? di 16MB. Qual'ora si interviene a settare un valore inferiore a 16MB,questo sarÆ impostato automaticamente di nuovo su 16.Si deve intervenire per cambiare la dimensione del Reg. diSistema solo quando un messaggio avverte che il valore ?insufficente. Se si vuole impostare una dimensione massima,il sistema non utilizzerÆ tutto lo spazio adisposizione se non ? effettivamente necessario.