Windows on Windows

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Windows on Windows (обычно сокращённо WOW или WoW) — программный компонент 32-битных версий операционных систем семейства Microsoft Windows NT, предоставляющий ограниченную поддержку для приложений, использующих устаревшую 16-битную версию Windows API (Win16). В основном это приложения для Windows 3.x, хотя поддерживается и часть приложений для более ранних версий Windows.

Многие приложения Win16 могут без изменений выполняться под управлением 32-битных версий Windows. При этом сохраняются ограничения, характерные для таких приложений. Операционная система преобразует (thunk[англ.]) вызовы 16-битных API в их 32-битные эквиваленты, предоставляя поддержку 16-битных указателей, моделей памяти и адресного пространства. 32-битные версии Windows также укорачивают длинные имена файлов для соответствия стандарту 8.3 при их использовании 16-битными приложениями.

Несмотря на наличие таких механизмов, некоторые приложения могут выполняться некорректно. В частности, не могут быть корректно использованы в многопользовательской среде с разграничением доступа приложения, предполагающие возможность полного доступа к файловой системе. Кроме того, как правило, невозможно выполнение приложений, использующих в ходе своего функционирования прямой доступ к оборудованию, который возможен только в режиме ядра (нулевое кольцо).

Компонент WoW отсутствовал в линейке операционных систем Windows 9x, поскольку они сами по себе являлись гибридными системами, использующими как 16-битные, так и 32-битные компоненты. Ввиду этого в них 16-битные приложения могли выполняться без использования выделенного компонента эмуляции.

В 64-битных версиях Windows отсутствует подсистема WoW для поддержки 16-битных приложений. Соответственно, данные версии операционной системы не могут запускать приложения, использующие API Win16, а также эмулятор DOS NTVDM. Для запуска таких приложений могут использоваться сторонние эмуляторы (например, DOSBox или winevdm[1] который поддерживает запуск оконных Win16 приложений аналогично NTVDM) или виртуальные машины с установленной 32-битной или 16-битной версией Windows или DOS, а также Windows XP Mode.

Примечания

[править | править код]
  1. otya. otya128/winevdm. — 2020-11-05. Архивировано 9 ноября 2020 года.