Почему Windows 64 не может запускать 32-разрядные программы?

Из того, что я понимаю, архитектура не изменилась так же сильно, как и от 16 бит до 32 бит, так почему нам нужен режим XP и т. п. для запуска 32-разрядных приложений в Windows 7 64 бит?

Или я понял это неправильно?

9 голосов | спросил Oscar 4 Maypm11 2011, 17:55:01

2 ответа


5

Я надеюсь, что это проливает некоторый свет на несовместимости:

Microsoft решила затянуть ядро ​​с 64-разрядными версиями. Драйверы устройств имеют тот же уровень доступа к оборудованию, что и ядро, поэтому некоторые конкретные вещи, которые были изменены в 64-разрядных версиях под названием безопасности:

  • Драйверы должны быть подписаны Microsoft для загрузки.
  • Я не знаю, могут ли 32-разрядные драйверы с 32-разрядными процессорами работать с 64-битным ядром (маловероятно), но Microsoft не подписывает новые 32-разрядные драйверы с ключом, который хочет 64-битное ядро. Таким образом, все 32-разрядные драйверы XP не будут работать на 64-разрядной версии Vista /7.
  • Драйверы не могут перезаписывать или исправлять ядро.

Microsoft также переключилась на новую модель драйвера видеодисплея (LDDM), но сохранила старую (XDDM). XDDM, старая модель, не поддерживает Aero.

Некоторые программы загружают настроенные драйверы устройств «на лету» для выполнения своих задач. Они будут defintely не работать на Vista /7.

Microsoft обновила довольно много компонентов в Vista /7. Это может означать изменение недокументированного поведения этих компонентов. Программы, которые полагаются на ошибки в этих компонентах или недокументированные функции DLL, также будут иметь проблемы.

ответил LawrenceC 4 Maypm11 2011, 19:01:03
2

32-разрядные программы должны работать только под 64-разрядной версией Windows.

Режим XP предназначен для программ, которые несовместимы с Windows Vista и Windows 7 любого вкуса.

См. эту статью Ars Technica для получения дополнительной информации. информация.

  

Проблема действительно пришла в голову с выпуском Windows Vista. Совместимость Vista с XP была очень хорошей, но она не была идеальной. Microsoft много работала над Vista, чтобы укрепить ее от атак (UAC, конечно же, но и другие вещи, такие как запрещение услуг от взаимодействия с пользователем), и вместе эти изменения и улучшения вместе с более обыденными вещами, такими как обновление номера версии что Windows, сговорились сломать некоторое старое программное обеспечение.

ответил ChrisF 4 Maypm11 2011, 18:00:10

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132