from
The Free On-line Dictionary of Computing (8 July 2008)
virtual 86 mode
<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} can run.