Для обратной совместимости 32-разрядная система Windows 9x использует третий режим в процессоре — виртуальный реальный режим. Виртуальный реальный, по существу, является режимом выполнения 16-разрядной среды (реальный режим), которое реализовано внутри 32-разрядного защищенного режима (т. е. виртуально, а не реально). Выполняя команды в окне подсказки DOS внутри Windows 95/98, вы создаете виртуальный сеанс реального режима. Поскольку защищенный режим является подлинно многозадачным, фактически можно выполнять несколько сеансов реального режима, причем в каждом сеансе собственное программное обеспечение работает на виртуальном компьютере. И все эти приложения могут выполняться одновременно, даже во время работы других 32-разрядных программ.
Обратите внимание, что любая программа, выполняющаяся в виртуальном окне реального режима, может обращаться только к памяти объемом до 1 Мбайт, причем для каждой такой программы это будет первый и единственный мегабайт памяти в системе. Другими словами, если вы выполняете приложение DOS в виртуальном реальном окне, ему будет доступна память только объемом до 640 Кбайт. Так происходит потому, что имеется только 1 Мбайт общей оперативной памяти в 16-разрядной среде, а верхние 384 Кбайт зарезервированы для системы.
Виртуальное реальное окно полностью имитирует среду процессора 8088, и, если не учитывать быстродействие, программное обеспечение будет выполняться так, как оно выполнялось первым PC в реальном режиме. Каждая виртуальная машина получает собственный 1 Мбайт адресного пространства и собственный экземпляр реальных аппаратных подпрограмм управления аппаратурой (базовую систему ввода-вывода), причем при этом эмулируются все регистры и возможности реального режима.
Виртуальный реальный режим используется при выполнении программ в окне DOS, а также при выполнении 16-разрядных программ, написанных для DOS или Windows 3.x, в Windows 95/98. При запуске приложения DOS операционная система Windows 9х создает виртуальную машину DOS, на которой это приложение может выполняться.
Важно отметить, что все процессоры Intel (а также Intel-совместимые AMD и Cyrix) при включении питания начинают работать в реальном режиме. При загрузке 32-разрядная операционная система автоматически переключает процессор в 32-разрядный режим и управляет им в этом режиме.