Contenu
Comment du code de Windows 95 subsiste encore dans Windows 11
MS a modifié la gestion de la mémoire de Windows 95 pour SimCity
MS a recompilé le gestionnaire de tas de Windows 95 pour les applications anciennes
Comment trouver EmulateHeap sous Windows 11
EmulateHeap présente des limites sur les systèmes modernes
Pourquoi Windows 11 contient encore le gestionnaire de mémoire caché de Windows 95
Temps: Oct, 19, 2026

Comment du code de Windows 95 subsiste encore dans Windows 11

How Windows 95 code survives inside Windows 11

Windows 11 comprend toujours une partie fonctionnelle du noyau de Windows 95. Un correctif de compatibilité appelé EmulateHeap permet à certaines applications anciennes de bénéficier d’un comportement qui reproduit celui du gestionnaire de mémoire plus permissif de Windows 95. Ce correctif figure toujours dans les systèmes Windows 11 26H2.

Cet engagement en faveur de la rétrocompatibilité remonte à SimCity, qui n’a pu fonctionner correctement sous Windows 95 qu’après la création par MS d’un code spécial au sein du système d’exploitation.

EmulateHeap, a compatibility fix that runs the Windows 95 heap manager, remains available in Windows 11 26H2

MS a modifié la gestion de la mémoire de Windows 95 pour SimCity

Lorsqu’elles s’exécutent, les applications demandent de la mémoire à Windows, puis la libèrent lorsqu’elles n’en ont plus besoin. Lire de la mémoire après sa libération est un bug appelé utilisation après libération, et la version originale de SimCity pour Windows 3.x comportait une telle faille.

Joel Spolsky, cofondateur de Stack Overflow et ancien ingénieur chez MS, a décrit le problème dans un essai publié en 2000, dans lequel il citait Jon Ross, développeur de cette version de SimCity. Ross a reconnu que le jeu lisait par erreur la mémoire immédiatement après l’avoir libérée. Le problème était passé inaperçu sous Windows 3.x, car le contenu de cette mémoire restait accessible.

SimCity 2000 Special Edition for Windows 95

SimCity a cessé de fonctionner correctement sur les versions bêta de Windows 95. Plutôt que d’attendre la publication d’un correctif pour le jeu, MS a ajouté du code qui détectait l’exécution de SimCity et plaçait l’allocateur de mémoire dans un mode spécial ne libérant pas immédiatement la mémoire.

En pratique, MS a modifié Windows afin de compenser un bug présent dans un seul jeu.

MS a recompilé le gestionnaire de tas de Windows 95 pour les applications anciennes

La solution de contournement destinée à SimCity avait été conçue pour un seul programme, mais d’autres applications reposaient sur un comportement similaire. L’ingénieur de MS Raymond Chen a expliqué, dans une chronique Windows Confidential publiée en 2010, que certains logiciels dépendaient de particularités du tas de Windows 95, notamment de la possibilité de lire de la mémoire libérée et d’y retrouver les valeurs précédentes inchangées.

Ces applications pouvaient planter sur les versions ultérieures de Windows, car celles-ci géraient la mémoire différemment.

Windows 95 CD

MS a résolu ce problème avec EmulateHeap. Ce correctif de compatibilité redirige les appels d’une application liés au tas—y compris des fonctions allant de HeapCreate à LocalLock et GlobalReAlloc—vers des implémentations de remplacement qui reproduisent le comportement de Windows 95.

Chen a décrit cette solution comme étant à la fois extrêmement simple et très inhabituelle : MS a repris le code source du gestionnaire de tas de Windows 95, l’a recompilé et l’a intégré à l’infrastructure de compatibilité des applications.

Par conséquent, une partie importante du noyau de Windows 95 existe au sein de l’infrastructure de compatibilité des applications Windows. Toutefois, cet ancien code n’est chargé depuis le stockage que lorsque EmulateHeap est activé pour une application précise. Windows 11 n’exécute donc pas en permanence du code de Windows 95 en arrière-plan.

EmulateHeap est distinct de la solution de contournement originale destinée à SimCity. Les deux illustrent l’importance considérable accordée par MS à la rétrocompatibilité, comme l’a ensuite montré la base de données cachée de correctifs d’applications de Windows XP, mais il s’agit de solutions différentes.

Comment trouver EmulateHeap sous Windows 11

EmulateHeap peut être consulté à l’aide de l’Administrateur de compatibilité, l’outil gratuit de MS destiné aux administrateurs informatiques qui répertorie les correctifs de compatibilité inclus avec Windows. MS définit un correctif de compatibilité, également appelé shim, comme un petit élément de code qui intercepte les appels d’API effectués par les applications.

L’Administrateur de compatibilité est inclus dans le Kit de déploiement et d’évaluation Windows (ADK). La version de septembre 2026 prend officiellement en charge Windows 11 26H2, où EmulateHeap peut être trouvé en suivant la procédure ci-dessous :

  1. Installez le Windows ADK et sélectionnez Outils de compatibilité des applications.

    Selecting Application Compatibility Tools in the Windows Assessment and Deployment Kit
  2. Ouvrez l’Administrateur de compatibilité 32 bits depuis le menu Démarrer.

    Compatibility Administrator 32-bit entry in the Start menu
  3. Créez une nouvelle base de données de compatibilité.

    Creating a new compatibility database
  4. Consultez les correctifs de compatibilité disponibles et recherchez EmulateHeap.

    EmulateHeap in the Compatibility Administrator list on Windows 11 26H2

EmulateHeap présente des limites sur les systèmes modernes

La présence d’un correctif de compatibilité ne garantit pas son bon fonctionnement dans toutes les situations. Après la mise à jour Windows 11 22H2, des utilisateurs ont signalé que l’activation du shim entraînait la perte du son dans des jeux tels que GTA: Vice City, tandis que Need for Speed: Most Wanted pouvait planter.

MS remplace par WinUI 3 la boîte de dialogue Propriétés héritée de l’époque de Windows 95, mais continue de conserver le gestionnaire de tas de Windows 95 pour un petit nombre d’applications anciennes. Ce niveau d’effort en matière de compatibilité n’a pas été consacré à 3D Pinball, qui a été supprimé en raison d’un bug 64 bits dont la correction aurait nécessité plusieurs jours de travail que l’équipe de développement ne pouvait pas justifier.

2
Live Chat