Como Dave Plummer criou o Gerenciador de Tarefas do Windows com apenas 80 KB e por que isso importa hoje

PUBLICIDADE

Como Dave Plummer criou o Gerenciador de Tarefas do Windows com apenas 80 KB e por que isso importa hoje

Ferramenta original rodava em PCs dos anos 90; técnicas de economia de recursos mantinham o utilitário ágil mesmo em sistemas travados

O desafio do hardware dos anos 1990

Dave Plummer, engenheiro responsável por funções célebres do Windows, revelou detalhes do desenvolvimento da versão original do Gerenciador de Tarefas. A ferramenta que ele construiu ocupava apenas cerca de 80 KB em disco — uma fração mínima diante dos aproximadamente 4 MB da versão atual.

Naquele período, os computadores pessoais tinham poder de processamento e memória muito limitados. Para Plummer, um utilitário que servia de salvaguarda quando o sistema travava precisava ser capaz de responder rapidamente mesmo se outros componentes estivessem congelados. Cada linha de código e cada alocação de memória representavam custo real ao desempenho.

Mecanismo para identificar instâncias congeladas

Uma das soluções mais elegantes do programa foi a estratégia para lidar com múltiplas tentativas de abertura. Em vez de apenas verificar se outra cópia estava em execução e trazer sua janela ao primeiro plano, o Gerenciador de Tarefas enviava uma mensagem privada para a instância ativa e aguardava uma resposta.

Se a instância respondeu corretamente, a nova execução encerrava-se — sinal de que a cópia anterior estava funcional. Se não houve resposta, o silêncio indicava que a instância já estava travada, permitindo que o novo processo abrisse uma janela e ajudasse o usuário a recuperar o sistema. Essa checagem simples evitava situações em que uma interface aparentemente ativa não respondia aos comandos.

Carregamento seletivo e consultas otimizadas ao sistema

Plummer adotou várias práticas para reduzir custo e latência. Strings usadas frequentemente foram armazenadas em variáveis globais para evitar leituras repetidas de recursos. Funções usadas raramente só eram carregadas quando o usuário solicitava — o que diminuía a memória ocupada e o tempo de inicialização.

Na coleta de processos, o Gerenciador de Tarefas solicitava ao núcleo a tabela completa de processos de uma vez, em vez de consultar cada aplicação individualmente. Caso o buffer fosse pequeno demais, ele era redimensionado e a consulta repetida. Esse método reduziu dezenas de chamadas à API e manteve o utilitário funcional mesmo em máquinas com pouca memória.

Lição para o desenvolvimento atual

Plummer criticou a tendência moderna de iniciar projetos com camadas de abstração e estruturas preparadas para necessidades futuras, o que frequentemente resulta em software pesado. Ele defende manter o instinto de otimizar: agrupar operações, armazenar em cache dados corretos, evitar atualizações visuais desnecessárias e consultar o sistema apenas quando preciso.

Embora não deseje voltar ao uso dos hardwares antigos, o engenheiro afirmou que a sensibilidade técnica daquela época — a percepção imediata do custo de cada operação — seria valiosa hoje. Sua conclusão é um lembrete para desenvolvedores e equipes: conveniências de programação que transferem o custo de recursos para o usuário final merecem ceticismo.

Fonte: relato de Dave Plummer e reprodução de conteúdo do Tom’s Hardware

Mais recentes

PUBLICIDADE