Windows в Windows - Windows on Windows

Windows в Windows
Другие именаУХ ТЫ
Разработчики)Microsoft
Операционная системаМайкрософт Виндоус
ТипУровень совместимости
ЛицензияПроприетарный коммерческое программное обеспечение

В вычисление, Windows в Windows (обычно называют УХ ТЫ,[1][2][3]) это уровень совместимости из 32-битный версии Microsoft Windows NT семья операционные системы что расширяет НТВДМ для обеспечения ограниченной поддержки бега наследие 16 бит программы, написанные для Windows 3.x или раньше. Есть похожая подсистема, известная как WoW64, в 64-битных версиях Windows, в которых работают 32-битные программы.

Задний план

Многие 16-битные устаревшие программы Windows могут работать без изменений на более новых. 32-битный редакции Windows. Причина, по которой дизайнеры сделали это возможным, заключалась в том, чтобы дать разработчикам программного обеспечения время для исправления своего программного обеспечения во время перехода отрасли от Windows 3.1x к Windows 95 и более поздних версий, без ограничения возможности обновления операционной системы до текущей версии перед все о программах, используемых клиентом, позаботились.

В Windows 9x серии операционных систем, отражающих их корни в ДОС, функционировали как гибридные 16- и 32-битные системы в том смысле, что базовая операционная система не была действительно 32-битной.[нужна цитата ], и, следовательно, мог запускать 16-битное программное обеспечение изначально, не требуя специальной эмуляции; Windows NT Операционные системы существенно отличаются от Windows 9x по своей архитектуре, поэтому требуют более сложного решения. Чтобы разрешить 16-битным программам работать в 32-битных версиях Windows (с некоторыми ограничениями времени выполнения), используются две отдельные стратегии. Они называются громкий и шимминг.

Thunking

Подсистема WOW операционной системы преобразовывает устаревшие 16-битные API в их новые 32-битные эквиваленты[требуется разъяснение ] для обеспечения поддержки 16-битных указатели, модели памяти и адресное пространство.

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

Эта подсистема доступна только в 32-разрядных выпусках Windows NT. 64-битные редакции (включая Windows Server 2008 R2 и более поздние версии, которые имеют только 64-разрядные версии) не могут запускать 16-разрядное программное обеспечение без стороннего программного обеспечения для эмуляции (например, DOSBox ).

Процесс WOWEXEC.EXE на Windows NT система облегчает Windows-on-Windows.[4][5] В дополнение к Windows-on-Windows, эмулирующей Windows 95 и Windows 98 ядра, файл WIN.COM имитирует Windows 3.x ядро для НТВДМ, который запускает 16-битные приложения Windows на базе DOS в Windows NT.

Шимминг

Проблемы совместимости приложений, особенно вокруг длинные имена файлов, несколько пользователей и концепция наименьшая привилегия, может помешать работе некоторых приложений. Например, они могут ошибочно предполагать полный доступ на запись ко всей файловой системе, тогда как NTFS безопасность на месте.

При разработке линейки операционных систем Windows 95 ключевым требованием было, чтобы файловая система сохраняла обратную совместимость с 8.3 имена файлов чтобы старые приложения могли продолжать работать на платформе. Следовательно, Windows 95 и более поздние операционные системы поддерживают режим совместимости, при котором как длинное, так и короткое имя файла сохраняются в Таблица размещения файлов.

Более того, устаревшие приложения, которые пытаются получить доступ к оборудованию напрямую, не могут сделать это в пользовательский режим. Унаследованные приложения также могут выйти из строя, если файлы конфигурации системы из эпохи DOS и Windows 9x отсутствуют в ядрах на базе Windows NT, отсюда и причина использования версий файлов нулевой длины, таких как AUTOEXEC.BAT и CONFIG.SYS должны быть перенесены в операционные системы, которые их не используют.

Значительное количество регулировочных шайб присутствует в уровень совместимости приложений более поздних версий Windows для перехвата и изменения API вызовы, выполняемые устаревшими приложениями, которые были написаны с другим набором предположений и передовыми методами работы с операционной системой.[6] Эти исправления время от времени обновляются по мере обнаружения проблем в популярных устаревших приложениях, которые все еще используются.[7]

Смотрите также

использованная литература

  1. ^ «Среда WOW остается в памяти после выхода из 16-битной программы». Поддержка. Microsoft. 22 февраля 2007 г. Архивировано с оригинал 23 октября 2007 г.. Получено 7 февраля, 2017.
  2. ^ «Запуск 16-разрядной подсистемы WOW на сервере Windows NT». Поддержка. Microsoft. 1 ноября, 2016. Архивировано с оригинал 9 мая 2007 г.. Получено 7 февраля, 2017.
  3. ^ «Отключение подсистем MSDOS и WOWEXEC на сервере терминалов». Поддержка. Microsoft. 1 ноября 2006 г. В архиве из оригинала 13 января 2008 г.. Получено 7 февраля, 2017.
  4. ^ «Подсистемы Windows NT и связанные файлы». Поддержка. Microsoft. 31 октября 2006 г. Архивировано с оригинал 16 марта 2007 г.. Получено 7 февраля, 2017.
  5. ^ «PRB: сбой при перемещении Ntvdm.exe на многопроцессорных компьютерах». Поддержка. Microsoft. 21 ноября 2006 г. Архивировано с оригинал 22 февраля 2009 г.. Получено 7 февраля, 2017.
  6. ^ «Совместимость приложений». TechNet. Microsoft. Получено 7 февраля, 2017.
  7. ^ «Обновление совместимости приложений для Windows 7 и Windows Server 2008 R2: август 2010 г.». Поддержка. Microsoft. 24 августа 2010 г.. Получено 7 февраля, 2017.

внешние ссылки