Windows 11 verbirgt bis heute den Speichermanager von Windows 95, Microsoft behält jahrzehntealten Code bei

📅 2026-10-19

Zusammenfassung:

Windows 11 verfügt bereits über eine moderne Benutzeroberfläche, fortschrittliche Sicherheitsmechanismen und zunehmende Fähigkeiten der künstlichen Intelligenz, aber tief im Inneren des Betriebssystems behält Microsoft immer noch Code aus der Windows 95-Ära bei. Überraschenderweise verbleiben diese Codes nicht nur als historische Legacy-Dateien im System, sondern können unter bestimmten Bedingungen weiterhin ausgeführt werden, wodurch Kompatibilitätsunterstützung für einige Anwendungen bereitgestellt wird, die auf altem Speicherverwaltungsverhalten basieren.

In Windows 11 26H2 behält Microsoft weiterhin einen Reparaturmechanismus für die Anwendungskompatibilität namens EmulateHeap bei. Es ermöglicht bestimmten alten Programmen, Code zu verwenden, der dem Speichermanager von Windows 95 nachempfunden ist, um zu verhindern, dass diese Programme aufgrund von Änderungen in der Art und Weise, wie modernes Windows den Speicher verwaltet, abstürzen.

Die Geschichte dieses Mechanismus lässt sich bis in die 1990er Jahre zurückverfolgen. Damals wurde ein Programmfehler in einem Spieleklassiker namens „SimCity“ aufgedeckt. Anstatt die Entwickler einfach aufzufordern, das Spiel zu reparieren, änderte Microsoft direkt das Verhalten von Windows 95, sodass das Spiel weiterhin ausgeführt werden konnte. Seitdem nutzt Microsoft einen systematischeren Kompatibilitätsmechanismus, um zu helfen, dass andere alte Software mit ähnlichen Problemen weiterhin in neuen Windows-Versionen funktioniert.

Diese Geschichte offenbart auch ein seit langem wichtiges Designprinzip von Windows: Für ein Betriebssystem mit einem riesigen Software-Ökosystem ist es manchmal wichtiger, alte Programme normal laufen zu lassen, als den historischen Code vollständig zu bereinigen.

Speicherfehler in „SimCity“ veranlasst Microsoft, das Betriebssystem zu ändern

Um zu verstehen, warum EmulateHeap existiert, müssen Sie zunächst einen häufigen Programmierfehler verstehen: das Weiterlesen nach der Speicherfreigabe.

Wenn die Anwendung ausgeführt wird, muss sie Speicher vom Betriebssystem anfordern, um Daten zu speichern. Wenn die Daten nicht mehr benötigt werden, sollte das Programm den entsprechenden Speicher freigeben, damit das System ihn anderen Zwecken zuweisen kann.

Wenn ein Programm einen Speicherblock freigibt, aber weiterhin Daten daraus liest, tritt ein sogenannter „Use-after-free“-Fehler auf. Dies ist ein typischer Programmierfehler, der dazu führen kann, dass ein Programm ungültige Daten liest, abstürzt und in manchen Fällen sogar Sicherheitsprobleme verursacht.

Einige Programme in frühen Windows-Umgebungen verließen sich unerwartet auf dieses fehlerhafte Verhalten.

Laut einem im Jahr 2000 veröffentlichten Artikel des Mitbegründers von Stack Overflow und ehemaligen Microsoft-Ingenieur Joel Spolsky hatten frühe Windows-Versionen von „SimCity“ ähnliche Probleme. Jon Ross, der Entwickler dieser Version, gab später zu, dass er versehentlich einen Fehler hinterlassen hatte: Das Spiel würde nach der Freigabe des Speichers weiterhin die ursprünglich dort gespeicherten Daten lesen.

Der Grund, warum dieses Problem nicht sofort aufgedeckt wurde, hängt mit der damaligen Speicherverwaltungsmethode von Windows 3.x zusammen. Unter bestimmten Umständen werden die relevanten Daten nach der Freigabe des Speichers durch das Programm nicht sofort durch andere Verwendungen überschrieben, sodass beim weiteren Lesen des Spiels weiterhin der ursprüngliche Inhalt abgerufen werden kann.

Mit anderen Worten: Es liegt ein Fehler im Spiel selbst vor. Es ist lediglich das Verhalten des alten Betriebssystems, das das Problem verdeckt.

Als Microsoft Windows 95 entwickelte, änderten sich die Dinge. Das neue System übernahm einen anderen Speicherverwaltungsmechanismus und „SimCity“ begann in der Betaversion von Windows 95 nicht mehr richtig zu funktionieren.

Microsoft stand vor zwei Möglichkeiten: die Spieleentwickler zu bitten, das Programm zu reparieren, oder das Betriebssystem den Fehler weiterhin tolerieren zu lassen.

Am Ende entschied sich Microsoft für Letzteres.

Die Ingenieure haben einen Kompatibilitätscode speziell für „SimCity“ zu Windows 95 hinzugefügt. Wenn das System erkennt, dass das Spiel läuft, wechselt es in einen speziellen Speicherzuweisungsmodus, der den zugehörigen Speicher nicht sofort freigibt.

Auf diese Weise ist es wahrscheinlicher, dass das Spiel die erwarteten Ergebnisse erzielt und Abstürze vermieden werden, auch wenn das Spiel nach der Freigabe des Speichers weiterhin die Originaldaten liest.

Aus moderner Software-Engineering-Perspektive ist dieser Ansatz ziemlich einzigartig. Normalerweise möchten Betriebssystementwickler das Systemverhalten nicht ändern, um Programmierfehler in Software von Drittanbietern zu vertuschen. Das damalige Ziel von Microsoft bestand jedoch darin, sicherzustellen, dass auf dem neuen System vorhandene Software ausgeführt werden kann, anstatt Benutzer zu zwingen, ihre ursprünglichen Programme aufzugeben, um das Betriebssystem zu aktualisieren.

Diese Entscheidung ist auch zu einem typischen Fall in der Geschichte der Windows-Kompatibilität geworden.

Von „SimCity“ zu EmulateHeap: Der Kompatibilitätsmechanismus wird schrittweise erweitert

Sonderbehandlung für SimCity ist nur der Anfang.

Als Windows sich allmählich weiterentwickelte, stellte Microsoft fest, dass nicht nur dieses Spiel, sondern auch andere Anwendungen auf einige spezielle Verhaltensweisen im Speicherverwaltungsmechanismus älterer Windows-Versionen angewiesen waren.

Microsoft-Ingenieur Raymond Chen erläuterte dieses Problem in einer 2010 veröffentlichten Kolumne zur Windows-Technologie. Einige ältere Programme lesen weiterhin Daten aus dem Speicher, nachdem dieser freigegeben wurde, vorausgesetzt, die ursprünglichen Werte sind noch vorhanden.

Wenn diese Programme in nachfolgenden Windows-Versionen ausgeführt werden, lesen sie aufgrund von Änderungen in der Speicherzuweisung und den Recyclingmethoden möglicherweise Inhalte, die durch andere Daten überschrieben wurden, und stürzen dann ab.

Wenn Microsoft für jedes Programm mit solchen Problemen einen speziellen Code schreibt, sind nicht nur die Wartungskosten hoch, sondern es wird auch schwierig, mit der zunehmenden Anzahl alter Software zurechtzukommen.

Aus diesem Grund hat Microsoft einen Kompatibilitätskorrekturmechanismus namens EmulateHeap eingeführt.

Im Gegensatz zu SimCity-spezifischem Code bietet EmulateHeap einen allgemeineren Ansatz. Es fängt Anwendungsaufrufe an Schnittstellen zur Speicherverwaltung ab und leitet diese Aufrufe an eine alternative Implementierung weiter, die das Verhalten von Windows 95 emuliert.

Dabei handelt es sich um eine Reihe von Schnittstellen im Zusammenhang mit der Heap-Speicherverwaltung, darunter HeapCreate, LocalLock und GlobalReAlloc. Durch das Hinzufügen einer Kompatibilitätsschicht zwischen Anwendungen und den zugrunde liegenden Speicherverwaltungsmechanismen kann das System ermöglichen, dass bestimmte Legacy-Programme weiterhin in der gewohnten Weise funktionieren.

Was noch überraschender ist, ist, dass Microsoft eine ziemlich einfache Implementierung übernommen hat.

Laut der Erklärung von Raymond Chen haben Microsoft-Ingenieure den Quellcode des Heap-Speichermanagers von Windows 95 direkt kopiert, ihn neu kompiliert und zum Windows Application Compatibility Framework hinzugefügt.

Das bedeutet, dass ein sehr wichtiger Speicherverwaltungscode von Windows 95 tatsächlich in der modernen Windows-Kompatibilitätsinfrastruktur erhalten bleibt.

Dies bedeutet jedoch nicht, dass Windows 11 den Windows 95-Speichermanager ausgeführt hat.

EmulateHeap ist ein Kompatibilitätsmechanismus, der bei Bedarf aktiviert wird. Nur wenn eine bestimmte Anwendung für die Verwendung dieses Fixes konfiguriert ist, wird der entsprechende Legacy-Code geladen. Bei normalen Programmen, die diese Funktion nicht aktivieren, wechselt Windows aufgrund dieses Kompatibilitätsmechanismus nicht automatisch zur Speicherverwaltungsmethode von Windows 95.

Außerdem ist EmulateHeap nicht dieselbe Funktion wie der von Microsoft speziell für „SimCity“ geschriebene Kompatibilitätscode. Beide spiegeln die Designphilosophie von Microsoft wider, die darauf abzielt, alte Software normal laufen zu lassen, ihre Methoden zur Problemlösung und ihr Anwendungsbereich sind jedoch unterschiedlich.

Wie finde ich EmulateHeap in Windows 11?

Für Benutzer, die den internen Kompatibilitätsmechanismus von Windows verstehen möchten, stellt Microsoft ein Tool namens Compatibility Administrator zur Verfügung, um vom System unterstützte Anwendungskompatibilitätskorrekturen anzuzeigen.

Dieses Tool ist im Windows Assessment and Deployment Kit (Windows ADK) enthalten und richtet sich in erster Linie an Systemadministratoren und IT-Experten. Die entsprechende von Microsoft im September 2026 veröffentlichte Tool-Version unterstützt Windows 11 26H2.

Windows Latest berichtete, dass der Autor EmulateHeap auf seinem Windows 11 26H2-Computer gefunden hat. Die spezifischen Schritte sind wie folgt:

Laden Sie zunächst Windows ADK von der offiziellen Website von Microsoft herunter und starten Sie das Installationsprogramm. Wählen Sie in der Funktionsauswahloberfläche einfach Anwendungskompatibilitätstools aus, bei dem es sich um das Anwendungskompatibilitätstool handelt, und schließen Sie dann die Installation ab.

Suchen Sie nach Abschluss der Installation im Startmenü nach Compatibility Administrator und öffnen Sie die 32-Bit-Version. Da viele alte Programme aus der Windows 95-Ära eine 32-Bit-Architektur verwenden, ist die 32-Bit-Version ein lohnenswertes Werkzeug, um solche Kompatibilitätsmechanismen zunächst zu prüfen.

Klicken Sie nach dem Öffnen des Programms im Bereich „Benutzerdefinierte Datenbanken“ mit der rechten Maustaste auf „Neue Datenbank“, wählen Sie „Neu erstellen“ und wechseln Sie dann in den Kompatibilitätsmodus. Suchen Sie dann in der Liste der verfügbaren Kompatibilitätskorrekturen nach EmulateHeap, um diese Funktion anzuzeigen.

Compatibility-Administratir-32-bit-in-Start.jpg

Creating-a-new-database-of-Compatibility-Mode.jpgEmulateHeap-in-Compatibility-Administrators-list-of-compatibility-fixes-on-Windows-11-26H2.jpg

Es ist wichtig zu beachten, dass das Finden eines Kompatibilitätsfixes in der Liste nicht bedeutet, dass alle älteren Programme ordnungsgemäß ausgeführt werden.

Microsoft ist bereits auf ähnliche Probleme gestoßen. Nach dem Windows 11 22H2-Update berichteten einige Benutzer, dass es beim Spiel „Grand Theft Auto: Vice City“ zu Tonverlusten kam und dass „Need for Speed: Most Wanted“ nach der Aktivierung bestimmter Kompatibilitätskorrekturen abstürzte.

Das bedeutet, dass der Kompatibilitätsfix selbst auch Konflikte mit anderen Systemkomponenten oder Spielcode verursachen kann. Auch wenn ein bestimmter Mechanismus bestimmte historische Probleme lösen kann, heißt das nicht, dass er für alle Programme geeignet ist.

Daher besteht für normale Benutzer keine Notwendigkeit, EmulateHeap zu aktivieren, nur um zu versuchen, ein altes Spiel auszuführen. Wenn Sie auf ein Problem stoßen, bei dem ältere Software nicht ausgeführt wird, ist es sinnvoller, nach spezifischen Kompatibilitätsempfehlungen für dieses Programm zu suchen, bevor Sie entscheiden, ob Sie den Fix anwenden möchten.

Warum bereinigt Windows diesen alten Code nicht einfach?

Von Windows 95 bis Windows 11 hat Microsoft viele Änderungen am Betriebssystem vorgenommen. Ob Speicherverwaltung, Grafiksysteme, Sicherheitsmechanismen oder die Treiber- und Anwendungslaufumgebung – modernes Windows unterscheidet sich erheblich von den Systemen der 1990er Jahre.

Aber das Betriebssystem ist kein Produkt, das jederzeit abgebaut und neu aufgebaut werden kann, unabhängig von alter Software.

Im Laufe der jahrzehntelangen Entwicklung haben sich Millionen von Anwendungen auf die von Windows bereitgestellten Schnittstellen und Verhaltensweisen verlassen. Einige dieser Programme werden strikt in Übereinstimmung mit der offiziellen Dokumentation entwickelt, während andere unwissentlich auf das Verhalten bestimmter Versionen des Systems angewiesen sind.

Solange diese Programme noch verwendet werden, muss Microsoft die möglichen Auswirkungen einer Änderung der zugrunde liegenden Mechanismen berücksichtigen.

Bei gewöhnlicher Software können Kompatibilitätsprobleme nach Betriebssystem-Upgrades nur gewisse Unannehmlichkeiten verursachen. Aber bei Unternehmenssoftware, professionellen Tools und Legacy-Programmen, die noch echte Geschäftsaufgaben erfüllen, können Kompatibilitätsbrüche noch größeren Schaden anrichten.

Aus diesem Grund unterhält Microsoft seit langem ein umfangreiches Anwendungskompatibilitäts-Framework. Seine Funktion besteht nicht nur darin, dem alten Programm mitzuteilen, auf welcher Windows-Version es läuft, sondern auch darin, einige Systemaufrufe abzufangen, bestimmte Verhaltensweisen anzupassen oder spezielle Kompatibilitätskorrekturen basierend auf dem jeweiligen Programm zu aktivieren.

Diese Maßnahmen sind für Benutzer normalerweise transparent. Wenn ein altes Programm gestartet wird, wendet das System entsprechende Korrekturen im Hintergrund an, und Benutzer bemerken möglicherweise nicht, dass das Betriebssystem einige Verhaltensweisen für das Programm geändert hat.

EmulateHeap ist ein Beispiel für dieses System.

Seine Existenz bedeutet nicht, dass Microsoft glaubt, dass Windows 95 eine bessere Speicherverwaltung als moderne Systeme hat, aber es bedeutet, dass einige ältere Programme sich auf das Verhalten der Vergangenheit verlassen haben. Um zu verhindern, dass diese Programme beschädigt werden, entschied sich Microsoft dafür, eine Reihe von Legacy-Implementierungen im Kompatibilitätsrahmen beizubehalten, anstatt zu erzwingen, dass die gesamte Software gemäß den Regeln moderner Systeme neu geschrieben wird.

Dieser Ansatz hat sowohl Vorteile als auch Kosten. Dies kann die Lebensdauer alter Software verlängern und Hindernisse für Benutzer bei der Aktualisierung des Systems verringern, erhöht jedoch auch die Wartungskomplexität des Betriebssystems, was dazu führt, dass historischer Code in modernen Systemen für lange Zeit vorhanden ist.

Nicht jede klassische Software wird gleich behandelt

Die Bereitschaft von Microsoft, spezielle Kompatibilitätscodes für einige alte Programme beizubehalten, bedeutet nicht, dass alle klassische Software weiterhin unter modernem Windows ausgeführt werden kann.

Ein typisches Beispiel ist 3D Pinball, das einst in Windows integriert war und ein dreidimensionales Flipperspiel ist. Einer der Gründe, warum das Spiel mit einer 64-Bit-Version von Windows nicht mehr verfügbar war, war, dass es 64-Bit-Kompatibilitätsprobleme gab, die zusätzliche Arbeit erforderten, und Microsoft nicht die Ressourcen aufwendete, um diese vollständig zu beheben.

Dies steht im Gegensatz zur Situation mit EmulateHeap.

Für manche Software, die weit verbreitet ist, einen hohen kommerziellen Wert hat oder mit relativ begrenzten Änderungen weiterhin ausgeführt werden kann, ist Microsoft möglicherweise bereit, Ressourcen in die Aufrechterhaltung der Kompatibilität zu investieren. Für andere Programme kann es sein, dass Microsoft sich dafür entscheidet, keinen Support mehr zu leisten, wenn die Reparaturkosten zu hoch sind oder die Benutzernachfrage deutlich zurückgegangen ist.

Daher ist die Windows-Kompatibilität keine grenzenlose Verpflichtung. Es erfordert ständige Kompromisse zwischen Wartungskosten, Benutzeranforderungen, Sicherheitsrisiken und technischer Komplexität.

Es ist erwähnenswert, dass Microsoft die Windows-Oberfläche in den letzten Jahren weiter modernisiert hat. Beispielsweise ersetzt das Unternehmen nach und nach einige der aus der Windows 95-Ära übriggebliebenen Eigenschaftendialogfelder durch neue Schnittstellen auf Basis von WinUI 3.

Aber die Modernisierung der Schnittstelle und die Aufrechterhaltung der zugrunde liegenden Kompatibilität können gleichzeitig durchgeführt werden. Das vom Benutzer angezeigte Fenster hat möglicherweise neue Designtechnologien übernommen, aber ein Teil des alten Codes bleibt im System erhalten, um sicherzustellen, dass historische Anwendungen aufgrund von Aktualisierungen der Schnittstelle oder der Systemarchitektur nicht an Kompatibilität verlieren.

Dies ist auch einer der wichtigen Unterschiede zwischen Windows und vielen relativ jungen Softwareplattformen: Windows muss nicht nur moderne Anwendungen unterstützen, sondern auch so weit wie möglich dem riesigen Software-Ökosystem Rechnung tragen, das über Jahrzehnte entstanden ist.

Die Tradition der Kompatibilität, die von Windows 95 bis Windows 11 fortgesetzt wird

Die Geschichte von EmulateHeap scheint nur eine technische Anekdote über alte Spiele und Speichermanager zu sein, aber sie spiegelt tatsächlich eine langjährige Kernstrategie von Windows wider.

Als „SimCity“ in der Betaversion von Windows 95 Probleme hatte, entschied sich Microsoft, das Betriebssystem zu modifizieren, um den Fehler im Spiel zu tolerieren. Da seitdem immer mehr alte Programme der Abhängigkeit vom historischen Systemverhalten ausgesetzt sind, hat Microsoft nach und nach einen umfassenderen Mechanismus zur Kompatibilitätsreparatur eingeführt.

Heute enthält Windows 11 immer noch Code, der das Speicherverwaltungsverhalten von Windows 95 simulieren kann, und Benutzer können ihn über die von Microsoft bereitgestellten Verwaltungstools finden.

Das bedeutet nicht, dass modernes Windows immer noch auf der Kernarchitektur von Windows 95 basiert, noch bedeutet es, dass normale Computer im Hintergrund ein altes Betriebssystem ausführen. Was wirklich übernommen wurde, ist ein Teil des Kompatibilitätscodes und der Designideen von Microsoft, um das Beschädigen alter Software so weit wie möglich zu vermeiden.

Für ein Jahrzehnte altes Betriebssystem ist dieser Ansatz sowohl eine technische Belastung als auch ein Wettbewerbsvorteil. Wenn Benutzer ein Upgrade auf eine neue Windows-Version durchführen, möchten sie häufig die gekaufte Software, die Tools, mit denen sie vertraut sind, und die über die Jahre angesammelten Arbeitsabläufe weiterhin verwenden. Durch die Beibehaltung von altem Code hat Microsoft die Kompatibilitätsrisiken verringert, die durch ein Upgrade des Betriebssystems entstehen.

Aus dieser Perspektive ist der in Windows 11 versteckte Windows 95-Speichermanager kein einfaches historisches Relikt, sondern eine konkrete Manifestation des langfristigen Engagements von Microsoft für Softwarekompatibilität. Selbst wenn sich die Betriebssystemschnittstellen ständig ändern und die Hardwareplattformen immer weiter verbessert werden, kann es sein, dass einige jahrzehntealte Codes einfach deshalb weiterhin funktionieren, weil sie es einem alten Spiel oder Programm ermöglichen, weiterhin auf heutigen Computern ausgeführt zu werden.

Verwandte Tags

Ähnliche Artikel

Kommentare

0/500
Captcha (click to refresh)
Keine Kommentare