Il Registro di Sistema visto da vicino
Premessa: adottare massima cautela, così come scritto nella lezione n° 1, nell' adoperare questa parte del Sistema Operativo. Da START >> ESEGUI >> digitare REGEDIT nella text-box; ecco cosa apparirà:

a sinistra c'è una struttura che possiamo definire ad albero, composta da 5 cartelle; tutte hanno un prefisso che comincia per HKEY (Handle to a Key); è in realtà un termine di programmazione che indica una voce a cui lo sviluppatore può accedere dall' applicazione. Esse possono espandersi fino a mostrare altre sottochiavi. La struttura di Win XP Pro, ne conta 5.

Passiamo ad esaminare adesso le singole chiavi; (il Reg. di Sistema preso in esame è queloo di Win XP Pro).
HKEY_CLASSES_ROOT: contiene informazioni utilizzate da diverse tecnologie OLE e i dati sull' associazione di classi di file che corrispondono al registro di sistema di Win x MS-DOS. Per esempio, una chiave o un valore particolare si trova in HKEY_CLASSES_ROOT se la chiave o il valore corrispondente si trova anche in HKEY_LOCAL_MACHINE\SOFTWARE\Classes o in HKEY_CURRENT_USER\SOFTWARE\Classes. Se una chiave o un valore si trova in entrambe le posizioni, quella che viene visualizzata in HKEY_CLASSES_ROOT è la stessa versione contenuta in HKEY_CURRENT_USER.
HKEY_CURRENT_USER: contiene il profilo utente dell' operatore in quel momento connesso al pc in modalità interattiva, incluse variabili di ambiente, impostazioni del desktop, connessioni di rete, stampanti e preferenze di programma. Il termine USER, infatti, si riferisce proprio all' utente.
HKEY_LOCAL_MACHINE: contiene informazioni sul computer locale; dati relativi all' hardware, al SO, memoria di sistema, driver di periferica, dati per il controllo all' avvio.
HKEY_USERS: contiene informazioni riguardanti i profili utente e il profilo predefinito caricati in quel momento, comprese le informazioni presenti in HKEY_CURRENT_USER.
HKEY_CURRENT_CONFIG: contiene informazioni sul profilo dell' hardware utilizzato dal sistema del pc all' avvio. Tali informazioni vengono utilizzate per configurare determinate impostazioni quali: driver di periferica da caricare, risoluzioni dello schermo ecc.
Hive e file del Registro
Il termine hive indica un insieme di dati simili; in questo caso chiavi, sottochiavi e valori che ha origine nel livello superiore del Reg. di Sistema. Un hive è salvato in un solo file e in un file ".log" in Win\system32\config e Win\Documents and Settings\nomeutente. Per impostazione predefinita la maggior parte degli hive DEFAULT, SAM, SECURITY, SOFTWARE e SYSTEM, è memorizzata nella cartella Win\system32\config. In Win XP Pro, la posizione delle informazioni del profilo utente relative ad ogni utente del computer, inclusi i files Ntuser.dat e Ntuser.dat.log, sono memorizzati nella cartella Win\Documents and Settings\ nomeutente.
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 i singoli utenti mentre altre riguardano tutti gli utenti che accedono ad un computer. Una voce di valore si compone di tre parti:
nome del valore, il tipo di dati e il valore stesso. Ecco uno schema con il quale si presenta una voce di valore:
Il tipo di dati indica il formato. I tipi di dati compresi tra 0 e 0x7FFFFFFF sono riservati alle definizioni del sistema. Sarebbe meglio che i programmi usino questo tipo di dati, ma ad essi sono anche riservati dati compresi tra: 0x80000000 e 0x7FFFFFFF. Diamo uno sguardo ai tipi di dati utilizzati dal sistema.
REG_BINARY: (Binari) Questi tipi di valori contengono un valore binario visualizzato in bytes usando un formato esadecimale. Si possono creare stringhe binarie di qualsiasi lunghezza, che possono contenere ogni tipo di dato. I valori binari di solito contengono dati che il computer non può rappresentare in forma di stringhe o come DWOR, come, ad esempio, un' immagine.
REG_DWORD: (DWORD) Questi tipi di valori contengono voci in double-word, che corrisponde ad un numero compreso tra 0 e 4.294.967.295. In genere un valore DWORD viene usato per un valore numerico molto preciso. Per esempio, un' applicazione può permettere di configurare il numero degli ultimi file usati nel Menu File.
REG_EXPAND_SZ: (Stringa espandibile) Questi tipi di valori contengono stringhe che includono un valore di espansione. Per esempio si può vedere il valore di espansione di "%ProgramFiles%" che equivale alla posizione della cartella Programmi della propria macchina.
REG_MULTI_SZ: (Multi -Stringa) Questo tipo di valori contengono stringhe multiple in formato leggibile da un essere umano. Lo sviluppatore separa ognuna di queste stringhe con un carattere null; inoltre usa questo tipo di stringhe per le voci di un menu a discesa.
REG_SZ: (Stringhe) Stringa di testo a lunghezza fissa. La stringa deve finire con uno 0 (null) attaccato. La parte SZ del tipo sta per "String Zero". Il Registro usa questo valore per tutto; il percorso dei files, configurazioni utente fino ai Globally Unique Identifiers (GUID), usati per i componenti ed altri riferimenti.
Dimensione del Registro di Sistema
I dati del Registro di Sistema vengono memorizzati in una parte della memoria, chiamata pool di paginazione, e scritti sul disco fisso, quando questi non è in uso. La dimensione del Reg. di Sistema non è altro che un valore il quale impedisce ai programmi di esaurire completamente il pool di paginazione con i dati del Reg. di Sistema. Per impostazione predefinita, la dimensione massima del Reg. di Sistema è pari al 33% del pool di paginazione. È ammessa una dimensione 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. di Sistema solo quando un messaggio avverte che il valore è insufficente. Se si vuole impostare una dimensione massima, il sistema non utilizzerà tutto lo spazio a disposizione se non è effettivamente necessario.
| < Prec. | Succ. > |
|---|

