Ao tentar instalar o Windows 95 pela primeira vez, os usuários de PC veem uma interface de texto enfadonha, sem gráficos. Era verdade que o DOS poderia “simular gráficos” com caracteres, mas a equipe do Windows decidiu adotar uma abordagem mais inteligente, aproveitando o código disponível anteriormente.

Raymond Chen, funcionário da Microsoft que participa do desenvolvimento do Windows há mais de 30 anos, publicou um novo artigo em seu famoso blog “OldNewThing”. O programador de software discutiu recentemente novamente a experiência de instalação e configuração do Windows 95, um projeto muito complexo que usa três ambientes de sistemas operacionais diferentes para acomodar uma variedade de cenários de uso em PCs de clientes.

Chen disse que os engenheiros da Microsoft poderiam, teoricamente, desenvolver um aplicativo de configurações gráficas porque o MS-DOS gerenciava bem os gráficos. No entanto, o método de manipulação de gráficos do DOS era muito primitivo e demorado. Os sistemas operacionais baseados em prompts não impedem ativamente a exibição de imagens na tela, mas os programadores devem implementar todas as funções gráficas manualmente.

Chen explicou que o MS-DOS não fornecia nenhuma primitiva gráfica além de chamar o BIOS para desenhar pixels individuais. De qualquer forma, a abordagem baseada em BIOS não é ideal, pois apenas o acesso direto ao framebuffer (memória da placa gráfica) proporciona melhorias mínimas de desempenho para operações gráficas. Resumindo, a equipe de instalação do Windows95 teoricamente teve que escrever sua própria biblioteca gráfica do zero.

E isto é apenas o começo. Os requisitos mínimos para o Windows 95 incluem uma placa gráfica VGA, portanto a equipe não precisou considerar as gerações anteriores de placas gráficas, como CGA ou EGA. O programa de instalação teve que exibir algumas caixas de diálogo, então o programador teve que escrever um novo gerenciador de janelas que suportasse "guias" de teclado entre janelas e teclas de atalho como atalhos rápidos.

A configuração também deve suportar alfabetos baseados em ideogramas, como japonês e chinês, ao mesmo tempo que gerencia animações simples. Chen disse que todo esse trabalho extra teve que ser incorporado à infraestrutura "básica" necessária para inicializar um ambiente Windows 95, com suporte total para extensão/expansão de memória através de seu próprio gerenciador de modo protegido.

Isso faz com que os desenvolvedores tenham que escrever um novo sistema operacional para inicializar com uma configuração do Windows 95, o que é uma perda de tempo, já que a Microsoft já está vendendo produtos mais adequados para esse trabalho. Chen explicou que o tempo de execução do Windows 3.1 usado na versão final da configuração do Windows 95 continha tudo o que era necessário para "simular gráficos" no MS-DOS e também foi totalmente depurado com seu próprio driver de vídeo, biblioteca gráfica, gerenciador de diálogo, etc.

Até hoje, a Microsoft ainda usa o mesmo loop de código; versões modernas do Windows ainda exigem a instalação de um sistema operacional “minúsculo” para iniciar o processo de configuração. Este ambiente mínimo do sistema operacional agora é o Ambiente de Pré-instalação do Windows (Windows PE) e também é usado para (tentar) reparar o Windows se houver um problema com o próprio sistema operacional.