Por que o Windows 11 ainda está com o gerenciador de memória do Windows 95 escondido dentro dele?

How Windows 95 code survives inside Windows 11
How Windows 95 code survives inside Windows 11

Você provavelmente não ficará surpreso em saber que o Windows 11 ainda carrega uma peça do kernel do Windows 95. Uma correção de compatibilidade chamadaEmular o HeapDá aos velhos aplicativos o gerenciador de memória do Windows 95 quando eles dependem de sua natureza indulgente, e você pode encontrá-lo em um PC Windows 11 26H2 hoje.

A tradição remonta aSimCity, que só funcionava no Windows 95 porque a Microsoft escreveu código especial para ele.

EmulateHeap, a fix that runs Windows 95’s heap manager, still ships with Windows 11 26H2
EmulateHeap, a fix that runs Windows 95’s heap manager, still ships with Windows 11 26H2. Credit: Windows Latest

Microsoft mudou como o Windows 95 gerenciava a memória.Apenas...para SimCity

Os aplicativos pedem memória ao Windows enquanto correm e libertam quando terminam. Se essa memória ainda é lida depois de ser libertada, é um bug conhecido como uso livre, e o SimCity original para Windows 3.x tinha um.

Joel Spolsky,Stack Overflow co-fundador e ex-engenheiro da Microsoft, compartilhou a história em umEnsaio de 2000, citando Jon Ross, que escreveu essa versão do SimCity. Ross admitiu que acidentalmente deixou um inseto onde o jogo"leia a memória que ele havia acabado de libertar,"e Spolsky explica porque ninguém notou."Funcionou bem no Windows 3.X, porque a memória nunca foi a lugar nenhum."

SIMCity 2000 Special Edition for Windows 95
SIMCity 2000 Special Edition for Windows 95. Source: Nap’n’Retrogaming

SimCity quebrou no Windows 95 betas, e em vez de esperar por um jogo remendado, a Microsoft adicionou código ao Windows 95 que procura o SimCity."Se encontrar SimCity rodando, ele roda o alocador de memória em um modo especial que não libera a memória imediatamente,"Spolsky escreveu.

Sim, a Microsoft modificou seu sistema operacional só para encobrir o bug de um jogo.

Microsoft recompilou o gerenciador de pilhas do Windows 95 para manter velhos aplicativos vivos.

O hack do SimCity foi um caso isolado, mas outros aplicativos fizeram suposições semelhantes. O engenheiro da Microsoft Raymond Chen explicou em seuColuna confidencial do Windowsem 2010, alguns programas usaram as peculiaridades da pilha do Windows 95, como ler memória liberada e esperar que os velhos valores ainda estivessem lá.

Infelizmente para esses aplicativos, eles caíram em versões posteriores do Windows, que gerenciam a memória de forma diferente.

Windows 95 CD
Windows 95 CD. Source: Pinterest

A solução era EmulateHeap, que corrige esse problema redirecionando as chamadas de um aplicativo,"do HeapCreate ao LocalLock ao GlobalReAlloc e em todo lugar no meio,"para substituições que imitam o Windows 95. Chen descreve como"extremamente simples"Ainda"Completamente louco,"E a parte mais louca é como a Microsoft a construiu:

"... eles simplesmente pegaram uma cópia do código fonte do gerenciador de carga Windows 95, recompilaram e adicionaram à infraestrutura de compatibilidade."

Nas palavras de Chen,"Há uma cópia de uma parte significativa do kernel do Windows 95 dentro do framework de compatibilidade de aplicativos do Windows."Chen observa que o velho código só é carregado do disco rígido quando EmulateHeap está habilitado para um aplicativo, então seu PC não está rodando silenciosamente o Windows 95 no fundo.

Para ser claro, EmulateHeap não é o código que a Microsoft escreveu para SimCity. Ambos vêm da obsessão por compatibilidade por trás.Banco de dados oculto do Windows XP de correções de aplicativosMas eles são separados.

Como encontrar EmulateHeap no Administrador de Compatibilidade no Windows 11

Você pode ver EmulateHeap dentroAdministrador de CompatibilidadeUma ferramenta gratuita da Microsoft para administradores de TI que lista a compatibilidade com o Windows. Microsoft descreve umCorreção de compatibilidade (ou shim) as "um pequeno pedaço de código que intercepta chamadas API de aplicativos."

Administrador de Compatibilidade vem com oKit de avaliação e implantação do Windows (ADK)E o lançamento de setembro de 2026 suporta oficialmente o Windows 11 26H2. Achei EmulateHeap no meu PC 26H2 com estes passos:

  1. Baixe oJanelas ADKda Microsoft e execute o instalador.
  2. Selecione apenas Ferramentas de Compatibilidade de Aplicações da lista de recursos e termine a instalação.

    Selecting Application Compatibility Tools in Windows Assessment and Deployment kit
    Selecting Application Compatibility Tools in Windows Assessment and Deployment kit. Credit: Windows Latest

  3. Procure o administrador de compatibilidade e abra a versão 32-bit, já que a maioria dos aplicativos da era Windows 95 são 32-bit.

    Compatibility Administrator 32 bit in Start
    Compatibility Administrator 32 bit in Start. Credit: Windows Latest

  4. Em Bancos de Dados Personalizados, clique com o botão direito em Novo Banco de Dados e selecione Criar Novo > Modo Compatibilidade.

    Creating a new database of Compatibility Mode
    Creating a new database of Compatibility Mode. Credit: Windows Latest

  5. Role a lista de correções de compatibilidade disponíveis para EmulateHeap.

    EmulateHeap in Compatibility Administrator’s list of compatibility fixes on Windows 11 26H2
    EmulateHeap in Compatibility Administrator’s list of compatibility fixes on Windows 11 26H2. Credit: Windows Latest

Claro, uma correção listada não é uma correção de trabalho. Após a atualização do Windows 11 22H2,usuários reportaramQue jogos como GTA Vice City perderam o som e Need for Speed: os mais procurados caíram com o shim ativado.

Ironicamente, a Microsoft éSubstituindo a janela de Propriedades do Windows 95Com WinUI 3, enquanto ainda mantém o gerente de pilha do Windows 95 por perto para um punhado de aplicativos antigos. Microsoft não foi gentil o suficiente para estender este esforço paraPinball 3D, que foi deixado cair por causa de um bug de 64 bits em que a equipe não podia se dar ao luxo de passar dias.

FONTE: Matéria original

Postar um comentário

Postagem Anterior Próxima Postagem