Nesta quinta parte da série Otimizando o Desempenho, irei comentar sobre programas que se apossam desnecessariamente de recursos do sistema, e como resolver este problema. Na próxima matéria da série, retomarei os assuntos inacabados nas matérias anteriores. Antes de prosseguir, porém, gostaria de esclarecer alguns conceitos. O Windows pode ser instalado em diversas partições, e com diversos nomes. Na grande maioria dos casos, está em c:\Windows, mas pode estar em d:\Windows, e:\Windows, ou em qualquer outra partição, ou mesmo em uma pasta com outro nome, por exemplo, c:\win. Portanto, por convenção, foi estabelecido que quando for necessário se referir ao caminho em que o Windows está instalado, será utilizado o termo
%SystemRoot%, independentemente de nome ou partição. Esse termo deverá ser interpretado: se o Windows estiver em c:\Windows, então %SystemRoot% será igual a c:\Windows. Se estiver em d:\Windows, então %SystemRoot% é igual a d:\Windows, e assim por diante.
Também é importante esclarecer o termo registro para quem não conhece. Trata-se de um banco de dados organizado em uma estrutura hierárquica, que consiste de subárvores e suas chaves, colméias e valores. Praticamente tudo o que você faz em um computador com sistemas Windows acessará o registro. É um arquivo que contêm informações sobre as suas configurações de hardware; os drivers necessários para acessar esse hardware; os perfis de usuário, todos os softwares que foram instalados, suas configurações específicas e informações de registro (licença); e tudo, mas tudo mesmo, que acontece em seu computador. Cada vez que o computador é (re)iniciado, o registro é lido para determinar o que deve acontecer. Quando qualquer programa é executado, o registro é lido para determinar onde esse programa está localizado. Esta é uma definição básica, mas voltarei a falar sobre o assunto em um dos próximos capítulos desta sequência de matérias. Pois bem, chega de definições, vamos ao que interessa:
Uma das últimas etapas da inicialização dos sistemas Windows consiste na verificação de certos parâmetros que estabelecem quais programas deverão ser iniciados automaticamente toda vez que o sistema for (re)iniciado. O Windows consulta o registro, a pasta Iniciar (%SystemRoot%\Menu Iniciar\Programas\Iniciar, nos Windows 9X/Me), e arquivos específicos, como Autoexec.bat, System.ini, e Win.ini.
 Tray congestionado |
Embora seja possível definir manualmente quais programas devem ser iniciados automaticamente, geralmente são os próprios programas que tomam essa decisão, inserindo, durante sua instalação, entradas no registro ou nos arquivos de inicialização, ou atalhos na pasta Iniciar. Por exemplo, ao ser instalado, o ICQ cria uma chamada no registro (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\), que é lida toda vez que o sistema for (re)iniciado, acionando o arquivo NDetect.exe. Este arquivo é responsável por verificar a existência de uma conexão ativa com a Internet. Se houver, o ICQ é executado automaticamente. Se não houver, tentará novamente a verificação em intervalos de tempo regulares, até que a conexão esteja estabelecida, e o programa possa ser iniciado.
Diversos outros programas agem de forma similar. O WinAmp cria uma chamada que executa o WinAmp Agent, que é representado por um ícone no tray (ao lado do relógio) e serve, teoricamente, como um atalho para a execução do programa. Da mesma forma, o WinZip cria uma chamada que executa o WinZip Quick Pic. Outros programas utilizam esse recurso: RealPlayer, McAfee, BlackIce, MSN Messenger, Get Right, FlashGet, etc. Conforme cada programa vai sendo carregado pelo sistema, um ícone correspondente é inserido no tray, que vai ficando cada vez mais congestionado.
O problema desse congestionamento é que cada programa que se inicia junto com o sistema utiliza uma parcela da memória disponível. Se você tem pelo menos 256 MB de RAM, provavelmente isso não seja um problema significativo. Mas quem usa micros mais antigos, com pouca memória, certamente tem o desempenho do sistema comprometido, pois boa parte da memória que poderia ser utilizada para processos imediatos, como a execução de um programa ou um jogo qualquer, está comprometida com programas que, muitas vezes, nem estão sendo utilizados no momento.
Continua na próxima página.