Почему ОС на 64 бита не может запустить приложение на 16 битов?

Почему это что:

  • 32-разрядная ОС при установке на 64-разрядном ЦП может запустить старые 16-разрядные приложения,
  • но если Вы устанавливаете 64-разрядную ОС, она не может запустить те приложения непосредственно и нуждаться в своего рода эмуляции (который не всегда работает отлично)?

Чтобы быть точнее, у меня есть 64-разрядный процессор (Intel Core 2 Duo). Когда у меня были Windows XP и Windows 7 (оба 32-разрядные) установленный, они могли выполнить старый DOS и 616-разрядные Приложения Windows.

Теперь я установил 64-разрядный выпуск Windows 7. Почему это не может больше запускать те те же приложения?

38
задан 10.11.2017, 08:02

3 ответа

От моего понимания это - потому что при выполнении в Длинном Режиме (x64 собственный компонент), сам ЦП не поддерживает вход в режим на 16 битов. Посмотрите Википедию. Так, для поддержки режима на 16 битов NTVDM (слой на 16 битов в Windows) должен был бы полностью эмулировать процессор на 16 битов.

Я предполагаю, что они уже взвесили перереализацию слоя эмуляции по сравнению с использованием существующего программного обеспечения виртуализации (VirtualPC, VirtualBox) для обработки этого, и было решено сократить VDM.

24
ответ дан 07.12.2019, 08:50

Для Windows, именно, потому что x86 версии ОС включают 16-разрядную эмуляцию, позволяет им выполнять те более старые процессы DOS. В x64 версиях они уже должны эмулировать x86 выполнение (они называют его WoW64) позволить 32-разрядным процессам работать, и я предполагаю использование, Wow64 для дальнейшей эмуляции 16-разрядного эмулятора вызвал слишком много проблем.

Горстка распознанных 16-разрядных процессов будет работать, потому что эмуляция трудно кодируется для обработки их, но остальные не работают, потому что эмуляция не включена в x64.

Не см. "16-битного кода" в статье MSKB: http://support.microsoft.com/kb/282423

10
ответ дан 07.12.2019, 08:50

Я думаю, что наиболее вероятная причина состоит в том, что только крошечный процент владельцев ПК на самом деле хочет смочь запустить старые приложения на 16 битов на их новых аппаратных средствах на 64 бита. Microsoft, вероятно, полагала, что это не стоило их, продолжая поддерживать приложения на 16 битов.

2
ответ дан 07.12.2019, 08:50

Теги

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