Windows 11には31年前の「Windows 95のメモリ管理機能」が今も隠されている
シムシティのWindows 3.x版には、一度解放したメモリを再び読み込んでしまう不具合がありました。通常、ソフトウェアはデータ保存に使用する分だけメモリを確保し、使い終わった領域を解放します。解放済みの領域は別の用途に使われる可能性があるため、以前のデータを読み込もうとするとソフトウェアが異常終了する場合があります。
シムシティはWindows 3.xでは問題なく動作していましたが、Windows 95のベータ版では正常に動かなくなりました。Microsoftは原因を調査し、シムシティの起動を検知するとメモリの解放を遅らせる特別な処理をWindows 95に追加したとのこと。ゲーム側の不具合をOS側で補うという対応によって、シムシティをWindows 95でも動かせるようにしたわけです。
EmulateHeapはWindows 95のメモリ管理の動作を再現するための互換機能です。EmulateHeapを有効にしたソフトウェアがメモリの確保や解放を要求すると、通常の処理の代わりにWindows 95と同じように動作する処理を呼び出します。
なおMicrosoftはWindows 95のメモリ管理機能を一から作り直したわけではなく、Windows 95のメモリ管理機能のソースコードをコピーして再コンパイルし、互換性を維持するための仕組みに組み込んだとのこと。結果としてWindows 95のOS内部で使われていたプログラムの一部が後のWindowsにも引き継がれることになりました。
Windows Latestによると、EmulateHeapはWindows 11のバージョン26H2にも残されています。Microsoftが提供する「Windows Assessment and Deployment Kit(Windows ADK)」に含まれる「Compatibility Administrator」という管理ツールを利用すると、互換性を維持するための機能一覧からEmulateHeapを確認できるとのことです。
なお、Windowsの互換性も万能ではなく、互換機能を有効にしたゲームで音声が再生されなくなったり異常終了したりする問題が報告されているとのこと。
Windows 11ではユーザーインターフェースの刷新が進む一方で、古いソフトウェアとの互換性を守るためにWindows 95のプログラムも維持されており、実際にEmulateHeapを有効にすると31年前のコードが処理を行うようになっているわけです。
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.




