Alte Zöpfe: Speichercode aus Windows 95 noch in Windows 11 genutzt

Dass Microsoft zuweilen Schwierigkeiten hat, alte Zöpfe abzuschneiden, ist durchaus bekannt. Manches überrascht dann aber doch - so beispielsweise die Tatsache, dass noch immer der Code des Speichermanagements zum Betriebssystem gehört.
Microsoft, Betriebssystem, Windows, Logo, Windows 95
Microsoft
  • Windows 11 nutzt weiterhin Teile des Speichermanagements von Windows 95
  • Die Funktion EmulateHeap sichert die Lauffähigkeit sehr alter Programme
  • Microsoft baute damals für das Spiel SimCity eine eigene Sonderbehandlung
  • Ein Fehler im Spiel SimCity griff auf bereits freigegebenen Speicher zu
  • Der ursprüngliche Heap-Manager wurde in das Kompatibilitätssystem integriert
  • Die alte Speicherverwaltung wird erst bei Bedarf für Programme aktiviert

Mit SimCity ging es los

Windows 11 greift für die Ausführung älterer Programme weiterhin auf einen Teil des Speichermanagements von Windows 95 zurück. Die Kompatibilitätsfunktion EmulateHeap sorgt dafür, dass Anwendungen, die sich auf das Verhalten des mehr als 30 Jahre alten Betriebssystems verlassen, auch auf aktuellen Windows-Versionen funktionieren können. Der entsprechende Code ist sogar in Windows 11 26H2 noch vorhanden, wie das US-Magazin Windows Latest berichtet.

Die Funktion ist ein Beispiel dafür, welchen Aufwand Microsoft betreibt, um ältere Software lauffähig zu halten. EmulateHeap ahmt die Speicherverwaltung von Windows 95 nach und fängt dazu Aufrufe von Programmen ab. Die ursprüngliche Implementierung des damaligen Speichermanagers wurde dafür in das Kompatibilitätssystem von Windows übernommen.


Die Geschichte reicht bis in die Zeit von Windows 95 zurück. Damals stellte das Spiel SimCity Microsoft vor ein Problem: Eine ältere Version des Spiels enthielt einen Programmfehler, bei dem es auf Speicher zugriff, den es zuvor bereits freigegeben hatte. Unter Windows 3.x funktionierte das trotzdem, weil der betreffende Speicherbereich nicht unmittelbar anderweitig verwendet wurde.

Nicht dauerhaft aktiv

Mit den Betaversionen von Windows 95 änderte sich das Verhalten jedoch. SimCity stürzte ab. Anstatt auf eine korrigierte Spielversion zu warten, baute Microsoft eine Sonderbehandlung in das Betriebssystem ein. Windows erkannte das laufende Spiel und verzögerte in diesem Fall die Freigabe des Speichers.

Der frühere Microsoft-Entwickler und Stack-Overflow-Mitgründer Joel Spolsky beschrieb diesen ungewöhnlichen Eingriff bereits im Jahr 2000. Die spätere Kompatibilitätsfunktion EmulateHeap ist allerdings nicht mit diesem speziellen SimCity-Fix identisch. Sie verfolgt aber ein ähnliches Ziel, wenn auch allgemeiner.

Microsoft übernahm dafür einen erheblichen Teil des ursprünglichen Heap-Managers von Windows 95, kompilierte ihn neu und integrierte ihn in die Kompatibilitätsinfrastruktur. Der Code wird nicht ständig im Hintergrund ausgeführt, sondern erst geladen, wenn EmulateHeap für eine Anwendung aktiviert ist.

Siehe auch:
Christian Kahle

Redakteur für Forschung, Energie und Raumfahrt

Begleitet die IT-Branche seit dem Dotcom-Boom, Informatik studierte er in Berlin. Sein Spektrum reicht von Quantencomputern über Solarstrom bis zur Raumfahrt.

WinFuture bei Google bevorzugenJetzt hinzufügen
Jetzt einen Kommentar schreiben


Alle Kommentare zu dieser News anzeigen
Tipp einsenden
❤ WinFuture unterstützen
Sie wollen online einkaufen? Dann nutzen Sie bitte einen der folgenden Links, um WinFuture zu unterstützen: Vielen Dank!