virtual 86 mode definition processor, programming
(Or "virtual mode" or "virtual 8086 mode") An operating mode provided by the Intel 80386
and later processors to allow real mode
programs to run under operating systems
which use protected mode
. In this sub-mode of protected mode, an operating environment is created which mimics the address calculation in real mode.
In virtual 86 mode the segment MMU
is practically turned off and the segment registers exhibit the same behaviour as in real mode. The page
d MMU, however, still operates. This means that the one megabyte address space
of real mode can be remapped in four kilobyte pages
to anywhere in the 32 bit physical address
space. Each page can be protected separately from read or write accesses.
Virtual mode is handled on a per-task-basis, so each exception
(from protection violations or interrupts
) switches the processor back into protected mode. It is therefore possible to have multiple tasks in virtual mode which run concurrent
ly under the control of an operating system which runs in protected mode.
Most operating system services in MS-DOS
systems are called by software interrupts, which are a kind of exception. If an MS-DOS application runs in virtual mode under the control of a protected mode operating system, each call to MS-DOS causes a switch to protected mode. The operating system emulates the MS-DOS service and switches back to the application in virtual mode. From the viewpoint of the application nothing differs from real mode. Microsoft Windows
, Windows NT
, and OS/2
use this feature to implement "DOS-boxes" in which both MS-DOS and real mode application programs