Все новости
Это интересно
Сейчас читают
Windows
Аватар Evernews Evernews

Windows XP обманывала старые программы, чтобы они продолжали работать

1
0
Поделиться
Телеграфировать

Система могла притвориться другой Windows - и только для определенной верии программы.

Windows XP обманывала старые программы, чтобы они продолжали работать

Ветеран Microsoft Рэймонд Чен рассказал, как Microsoft обеспечивала совместимость Windows XP с приложениями, выпущенными задолго до релиза операционной системы. Оказалось, Windows XP использовала специальную базу проблемных приложений.

Благодаря этому Windows XP могла менять собственное поведение отдельно для каждой программы — вплоть до подмены версии Windows и запуска старого диспетчера памяти, позаимствованного у Windows 95.

Microsoft хранила базу проблемных приложений в Application Compatibility Database — файл назывался Sysmain.sdb. При запуске приложения ОС могла проверять не только имя исполняемого файла, но и его размер, контрольную сумму, версию, дату и содержимое папки. Это позволяло применять исправление к конкретной версии программы.

После обнаружения совпадения Windows подключала программные прослойки между приложением и системными API. Они могли менять параметры вызовов, корректировать ответы Windows или выполнять дополнительный код: например, Win98VersionLie сообщал старому приложению, что оно работает в Windows 98.

Еще одна прослойка, EmulateHeap, заменяла стандартный механизм управления памяти копией диспетчера кучи Windows 95. Это помогало запускать старые программы, зависевшие от особенностей распределения памяти в предыдущих версиях ОС.

Реализовать такую систему решили по коммерческим причинам — как объясняет Чен, одно несовместимое приложение могло сорвать переход целой компании на новую версию Windows. Особенно серьезной проблемой оказались программы, созданные на Visual Basic для конкретных компаний и оставшиеся без поддержки после ухода их разработчиков.

Понравились наши истории?
Скорее добавляйте WTFTime.ru в предпочтительные источники Google — и мы всегда будем рядом.
Читать далее
Как вам Resident Evil Requiem?
Отличная игра
1255 голосов, 63.3%
Хорошо, но могло быть лучше
335 голосов, 16.9%
Самая обычная игра
211 голосов, 10.6%
Ужасно, серия свернула не туда
182 голоса, 9.2%
Теги: Windows
Аватар Evernews
Evernews
8090 подписчиков