Sítio do Piropo

B. Piropo

< O Globo >
Volte
12/02/2001

< Configurando Windows ME>
< (ou: O caso do Config.Sys desaparecido)
>


Nos velhos tempos do DOS usavam-se dois arquivos para configurar o micro: Config.Sys e Autoexec.Bat. Ambos eram arquivos texto formados por um conjunto de linhas, cada uma contendo um “comando” ou “diretiva”. Originalmente o Config.Sys era usado para carregar drivers de dispositivos e o Autoexec.Bat para carregar programas residentes. Depois, seu uso ampliou-se e foram incorporados comandos e diretivas adicionais. Mesmo com o advento de Windows e seus arquivos Win.Ini, System.Ini, além do Registro, os arquivos Config.Sys e Autoexec.Bat continuaram a ser usados para configurar o ambiente no qual rodavam os programas DOS. E tudo corria na santa paz até o lançamento de Windows Millenium Edition (ME), quando a MS decidiu eliminar o suporte ao “modo real”, o mais elementar dos modos de operação dos microprocessadores da linha PC (os demais modos são o “protegido” o “8086 virtual”).

O modo real era justamente o usado pelo DOS. Sua eliminação causou o desaparecimento do arquivo Config.Sys. Na verdade, ele ainda pode ser encontrado no diretório raiz do drive C das máquinas com Windows ME, porém é um arquivo “vazio” (com zero byte). E se você criar um novo Config.Sys, adicionar a ele alguns comandos e reinicializar a máquina, verá que o novo se transmutará em um estranho Config.Bak e o velho Config.Sys será recriado, novamente com zero byte. Com o Autoexec.Bat ocorre algo semelhante. Que mistério é esse?

O suporte ao modo real era mantido na linha Windows por questões de compatibilidade com alguns programas DOS e certos jogos, assim como para estender a vida útil de alguns poucos dispositivos antigos que apenas aceitavam drivers em modo real. Mas ele impunha sérias penalidades ao sistema, como instabilidade e baixa segurança (no modo real todo programa pode acessar qualquer trecho de memória, inclusive os destinados ao uso exclusivo do sistema operacional e deve-se a isto grande parte das “falhas de proteção” de Windows). Como programas e dispositivos que exigem o modo real praticamente desapareceram, a necessidade de suportar o modo real desapareceu com eles. Isto tornou inócuos quase todos os comandos e diretivas usados no Config.Sys. Os poucos ainda necessários puderam ser substituídos por ajustes no Registro. Sobrou uma única e honrosa exceção: a diretiva SET, sobre a qual falaremos adiante. A lista dos comandos e diretivas eliminados pode ser encontrada no artigo Q274646 da MS Knowledge Base em <http://support.microsoft.com/support/ {SEM QUEBRA}
kb/articles/Q274/6/46.ASP>.

A grande maioria dos comandos ou diretivas foram sumariamente abolidos. Os poucos remanescentes foram absorvidos por entradas do Registro e assumiram valores fixos, que não mais podem ser alterados pelo usuário. São eles: LASTDRIVE, que passou a assumir o valor “Z”, FCBS, cujo valor é sempre “4”, BUFFERS, que vale “30” e STACKS, que vale “0,0” (há uma justificativa para este estranho valor no artigo Q84300 da MS Knowledge Base, em <http://support.microsoft.com/support/kb/{SEM QUEBRA}
articles/Q84/3/00.ASP>). A exceção é o parâmetro FILES, que recebeu o valor padrão de “30” mas pode ser alterado através da entrada PerVMFiles na seção [386Enh] do arquivo System.Ini (veja detalhes no artigo Q269030 da MS Knowledge Base, em <http://support.microsoft.com/support/{SEM QUEBRA}
kb/articles/Q269/0/30.ASP>).

A diretiva SET, a única remanescente, serve tanto no Config.Sys quanto no Autoexec.Bat para criar as variáveis ambientais, parâmetros que recebem um nome e um valor e que permanecem no “ambiente” DOS à disposição de qualquer programa. As mais conhecidas são PATH e TEMP que indicam, respectivamente, as vias de diretório onde procurar arquivos executáveis e o local onde armazenar arquivos temporários. Mas qualquer um pode criar qualquer variável ambiental e colocá-la à disposição de todos os programas. Seus valores ficam armazenados em um espaço de memória denominado “ambiente”. Se você usa Windows ME, pode recorrer ao utilitário de configuração do sistema, o programa MSConfig, para inspecionar o “ambiente” de seu micro: acione a entrada “Executar” do menu “Iniciar”, entre com “msconfig” (sem as aspas) e clique em OK. As variáveis ambientais estão na aba “Ambiente”. Agora, faça uma experiência: localize o arquivo Config.Sys no diretório raiz de seu drive C e abra-o com o Notepad. Você estará diante de uma janela vazia, já que como sabemos o arquivo tem zero byte. Crie nela a linha “SET TESTE=SEUNOME” (assim mesmo, mas sem aspas e, se quiser, substitua SEUNOME por seu primeiro nome). Grave o arquivo, saia do Notepad e reinicialize o micro. Agora volte a inspecionar o arquivo Config.Sys. Repare: ele tem novamente zero byte, mas a linha que você incluiu consta agora do arquivo Config.Bak. Aparentemente ela não fez efeito algum. Ledo engano: volte a inspecionar a aba “Ambiente” com o MSConfig e veja que a variável ambiental que você acabou de criar foi acrescentada à lista (como ela não tem serventia, elimine-a selecionando-a e clicando no botão “Excluir”).

Agora dá para entender a existência aparentemente exótica de um Config.Sys “vazio” em Windows ME: cada vez que a máquina é iniciada ele é lido e seu conteúdo analisado. Se for encontrada uma linha com um comando ou diretiva inócuo, ela será simplesmente ignorada. Se, no entanto, for encontrada uma diretiva SET, o valor da nova variável ambiental será acrescentado ao ambiente. Em ambos os casos o arquivo será gravado com o nome de Config.Bak e um novo Config.Sys de zero byte será criado (com o Autoexec.Bat ocorre algo semelhante, porém as linhas SET são preservadas).

É claro que há uma forma mais prática de criar variáveis ambientais: a aba “Ambiente” do próprio MSConfig, onde se pode usar o botão “Novo” para criar novas variáveis, “Editar” para alterar o valor das atuais e “Excluir” para eliminar as desnecessárias. As outras abas permitem acesso aos demais itens de configuração de Windows ME, inclusive a entrada “Iniciar” do item “Programas” do menu Iniciar, usado para carregar programas durante a inicialização de Windows, e a seção [386Enh] do arquivo System.Ini, onde ainda é válida a diretiva DEVICE (mas se for acrescentar algo ali, tenha certeza absoluta de que sabe o que está fazendo).

Os arquivos Autoexec.Bat e Config.Sys foram mantidos apenas porque alguns programas, durante a instalação, ainda configuram a máquina acrescentando linhas a esses arquivos. Se a linha acrescentada for inócua, ela será preservada na versão .Bak do arquivo e o usuário pelo menos poderá tomar ciência dela. Se a linha criar uma variável ambiental usando a diretiva SET, ela será incorporada ao ambiente. Um jeito bizarro de resolver o problema, bem ao estilo da MS. Mas funciona.

Resumindo: como Windows ME eliminou o suporte ao modo real, os arquivos Config.Sys e Autoexec.Bat tornaram-se desnecessários. Não obstante, foram mantidos por questões de compatibilidade. Deixe-os lá no diretório raiz de seu drive C e esqueça-se deles. De ora em diante, se você usa o Windows ME, somente altere a configuração recorrendo ao utilitário de configuração do sistema, o programa MSConfig. É simples assim.

B. Piropo