# Windows 11 сохранила механизм совместимости из эпохи Windows 95

> Источник: 404 Media. Канонический URL: https://404-media.ru/tehnologii/windows-11-sohranila-mehanizm-sovmestimosti-iz-epohi-windows-95

В Windows 11 обнаружили EmulateHeap — механизм, созданный для запуска старых программ и основанный на коде менеджера памяти Windows 95.

- Рубрика: Технологии (https://404-media.ru/tehnologii)
- Опубликовано: 2026-10-19T19:42:33+03:00
- HTML: https://404-media.ru/tehnologii/windows-11-sohranila-mehanizm-sovmestimosti-iz-epohi-windows-95
- Markdown: https://404-media.ru/tehnologii/windows-11-sohranila-mehanizm-sovmestimosti-iz-epohi-windows-95.md
- llms.txt: https://404-media.ru/llms.txt

![Windows 11 сохранила механизм совместимости из эпохи Windows 95](https://storage.yandexcloud.net/404-media/media/2026/10/f5hbc206Sj1BL70tDEiiI3yG1HcFDTr0cvHuia2c.jpg)

Актуальная Windows 11 до сих пор использует фрагмент кода Windows 95, вышедшей более 30 лет назад. Исправление совместимости под названием EmulateHeap предоставляет старым приложениям доступ к менеджеру памяти Windows 95. Этот механизм можно найти и в Windows 11 26 H2.

История совместимости старых программы в Windows началась с оригинальной SimCity. Игра Maxis работала в Windows 95 только благодаря коду, который корпорация написала специально для SimCity. Приложения запрашивают у Windows память во время работы и освобождают её после завершения. Если приложение продолжает обращаться к памяти после её освобождения, это баг, известный как use‑after‑free. Именно такой баг был в оригинальной версии SimCity для Windows 3.x.

В 2 000 году эту историю рассказал сооснователь Stack Overflow и бывший инженер Microsoft Джоэл Спольски, ссылаясь на Джона Росса, создавшего ту версию SimCity. Последний случайно допустил ошибку, из‑за которой игра считывала память, которую сама же только что освободила. В Windows 3.x игра работала нормально, поскольку память после освобождения никуда не исчезала, объяснил Спольски.

Когда SimCity перестала работать в бета‑версиях Windows 95, Microsoft добавила специальный код, который искал запущенную SimCity. Если операционная система находила игру, менеджер памяти переходил в особый режим и не освобождал память сразу. Microsoft пошла на этот шаг, не дожидаясь исправленной версии градостроительного симулятора.

Обходное решение для SimCity было единичным случаем, но другие старые приложения также имели похожие зависимости. В 2 010 году инженер Microsoft Рэймонд Чен объяснил, что некоторые программы использовали особенности работы кучи в Windows. Например, приложения обращались к освобождённой памяти, рассчитывая, что прежние значения сохранятся.

Однако в более поздних версиях Windows такие приложения стали аварийно завершаться, поскольку там память управляется иначе.

Решением стал EmulateHeap — механизм совместимости, который перенаправляет вызовы API для работы с кучей, в том числе HeapCreate, LocalLock и GlobalReAlloc, на альтернативные реализации, воспроизводящие поведение Windows 95. Microsoft просто взяла копию исходного кода Windows 95 Heap Manager, перекомпилировала его и добавила в инфраструктуру совместимости, рассказал Чен.

По словам Чена, старый код загружается с жёсткого диска только тогда, когда EmulateHeap включён для конкретного приложения. При этом ПК не запускает Windows 95 в фоновом режиме.

EmulateHeap можно найти в утилите Compatibility Administrator, которая перечисляет исправления совместимости, входящие в состав Windows. Microsoft описывает исправление совместимости как «небольшой фрагмент кода, который перехватывает вызовы API из приложений». Compatibility Administrator входит в Windows Assessment and Deployment Kit (ADK).

Чтобы обнаружить EmulateHeap на своём ПК, нужно выполнить следующие шаги:

Загрузить Windows ADK с сайта Microsoft и запустить установщик.

Выбрать из списка компонентов только Application Compatibility Tools и завершить установку.

Найти в меню «Пуск» Compatibility Administrator и открыть 32-битную версию, поскольку большинство приложений эпохи Windows 95 имели такую архитектуру.

В разделе Custom Databases нужно кликнуть правой кнопкой мыши по New Database, а затем выбрать Create New > Compatibility Mode.

Прокрутить список доступных исправлений совместимости до EmulateHeap.

После выхода Windows 11 22 H2 пользователи сообщали, что в GTA: Vice City пропал звук, а Need for Speed: Most Wanted вылетала при включённом EmulateHeap.
