Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
19/05/1997

< A Gênese do Registro >


O registro, da forma como o conhecemos, parece a indignação cívica de certos membros da CPI dos precatórios: só existe sob as luzes da TV, enquanto as máquinas estão ligadas. Basta cortar a energia que ele se esvai, desaparece, perde substância e se abriga em sombrios desvãos. No caso da CPI, não sei onde. Já o Registro, mais transparente e de motivações mais explícitas, fragmenta-se e adormece sob a forma de dois arquivos no disco rígido. Vamos jogar alguma luz sobre o problema (do Registro, bem entendido; do outro, só seu voto pode fazê-lo) e ver como a coisa funciona.

Aquilo que chamamos de Registro nada mais é que um conjunto de informações sobre a máquina (características, desempenho e configurações de hardware e software) e sobre os usuários (dados e preferências pessoais de todos os usuários e identificação do usuário corrente) organizadas em uma estrutura hierárquica. Um conceito que, por englobar informações sobre o usuário corrente e desempenho da máquina, somente faz sentido estando a máquina ligada. E de fato assim é: com a máquina desligada, ele não existe - existem apenas as fontes de onde parte (e apenas parte) dos dados são obtidos. São dois arquivos, User.Dat e System.Dat, que na maioria das vezes moram no diretório WINDOWS (mas nem sempre: em máquinas ligadas em rede o arquivo User.Dat pode estar em outra máquina da rede). Enquanto System.Dat armazena informações relativas ao hardware e ao software instalado, User.Dat guarda elementos referentes aos usuários registrados, suas identidades e preferências pessoais. São arquivos em formato binário, ocultos e de sistema (portanto não são mostrados pelo Windows Explorer a não ser que se marque a caixa correspondente na aba "Exibir" da opção "Opções" do menu "Exibir"). São a base do Registro, mas não são o Registro.

O Registro propriamente dito só se consubstancia quando a máquina é ligada e Windows é carregado. Neste momento deflagra-se o processo de "montagem" do registro, iniciado com a leitura das informações básicas nos arquivos System.Dat e User.Dat (e eventualmente em outros arquivos auxiliares como Windows.Ini, System.Ini e, no caso de máquinas em rede, arquivos de diretrizes, ou de extensão Pol - de "policy"), prosseguindo com uma inspeção geral dos componentes instalados (para verificar se algo novo foi acrescentado, o que faria o sistema plug and play assumir o controle automaticamente, identificar as características do novo hardware detectado e acrescentá-las ao Registro) e terminando com a identificação do usuário através de seu logon, confirmado pela senha (que, se sua máquina não pede, é porque você desabilitou a função; neste caso ela já sabe que você é o único usuário e se ajusta de acordo). Como você é um cara esperto, já descobriu que a base da chave HKEY_LOCAL_MACHINE e de seus espelhos parciais, HKEY_ROOT_CLASSES e HKEY_CURRENT_CONFIG está no System.Dat e nas informações colhidas durante o boot, enquanto os dados básicos para montar HKEY_USERS estão em User.Dat. Já HKEY_CURRENT_USER é montada também a partir de User.Dat assim que o usuário corrente se identifica, enquanto HKEY_DYN_DATA é criada dinamicamente.

Como você vê, o processo não é simples. E pior: não se encerra após a carga de Windows. Ao contrário: está sempre sendo atualizado. Pois o Registro é modificado toda a vez que um novo hardware é acrescentado (o que, com o sistema plug and play, em alguns casos pode ser feito "à quente", ou com a máquina ligada), que um novo programa é instalado ou que o usuário altera seja alguma de suas preferências pessoais, seja as configurações de hardware ou de software. Sem mencionar o fato de que, em máquinas ligadas em rede, o Registro pode ser alterado remotamente pelo administrador do sistema apelando para as denominadas RPC (Remote Procedure Calls) - aliás, uma das principais razões que levaram os desenvolvedores de Windows 95 adotar o conceito de Registro. Em suma: o Registro é uma coisa dinâmica.

Como você vê, o processo é complicado. E em processos complicados, sempre há a possibilidade de algo dar errado. Mas acontece que o Registro é tão vital que Windows 95 simplesmente não pode funcionar sem ele. Resultado: é necessário tomar providências para lidar com a possibilidade de que algo venha a dar errado. Estas providências são principalmente de três tipos. O primeiro visa garantir que exista sempre uma cópia funcional (se bem que não totalmente atualizada) dos dados usados para montar o Registro, para permitir a carga de Windows 95 caso os dados atualizados tenham se perdido ou corrompido. O segundo, visa dotar o sistema de meios de reconstituir o Registro caso nem mesmo os dados desatualizados estejam acessíveis. E finalmente o terceiro visa fornecer meios de preservar uma cópia absolutamente atualizada do Registro e usá-la para reconstituir o original.

A discussão destes assuntos, que afinal é o principal objetivo de toda esta série, começará semana que vem.

B. Piropo