Джон Росс, разработчик версии SimCity для Windows, как-то признался, что в оригинальной игре был неприятный баг — программа обращалась к памяти, которую только что освободила. В Windows 3.x это не вызывало проблем, но в Windows 95 стало приводить к вылетам.
Однако игра была настолько популярна, что Microsoft, дабы пользователи не расстраивались (да-да, Microsoft, оказывается, когда-то задумывалась о таком), встроила в свою ОС специальный костыль управления памятью. Работал он только при запуске SimCity и позволял игре не вылетать, а спокойно работать дальше.
Позже выяснилось, что аналогичные проблемы встречаются и в других приложениях (программы с багами и тогда не были редкостью). Поэтому Microsoft создала специальный механизм совместимости под названием EmulateHeap, который воспроизводил поведение диспетчера памяти Windows 95.
Но самое интересное дальше! В последующих версиях Windows управление памятью было устроено иначе, из-за чего запуск старых приложений иногда становился проблематичным. И тогда в Microsoft решили не мудрить, а фактически скопировать значительный фрагмент ядра Windows 95, заново скомпилировать его и встроить в механизм совместимости новых версий Windows. Этот код задействуется при запуске определённых старых приложений, позволяя им работать так, словно на дворе всё ещё 1995 год.
И вот, спустя более чем 30 лет выяснилось, что код из Windows 95 до сих пор присутствует даже в Windows 11!
https://www.windowslatest.com/2026/10/19/why-windows-11-still-ships-with-windows-95s-memory-manager-hidden-inside-it/
@g33ks:
Однако игра была настолько популярна, что Microsoft, дабы пользователи не расстраивались (да-да, Microsoft, оказывается, когда-то задумывалась о таком), встроила в свою ОС специальный костыль управления памятью. Работал он только при запуске SimCity и позволял игре не вылетать, а спокойно работать дальше.
Позже выяснилось, что аналогичные проблемы встречаются и в других приложениях (программы с багами и тогда не были редкостью). Поэтому Microsoft создала специальный механизм совместимости под названием EmulateHeap, который воспроизводил поведение диспетчера памяти Windows 95.
Но самое интересное дальше! В последующих версиях Windows управление памятью было устроено иначе, из-за чего запуск старых приложений иногда становился проблематичным. И тогда в Microsoft решили не мудрить, а фактически скопировать значительный фрагмент ядра Windows 95, заново скомпилировать его и встроить в механизм совместимости новых версий Windows. Этот код задействуется при запуске определённых старых приложений, позволяя им работать так, словно на дворе всё ещё 1995 год.
И вот, спустя более чем 30 лет выяснилось, что код из Windows 95 до сих пор присутствует даже в Windows 11!
https://www.windowslatest.com/2026/10/19/why-windows-11-still-ships-with-windows-95s-memory-manager-hidden-inside-it/
@g33ks:
👍10🤯5🤣4❤2🥰1