What is the virtual 8086 mode?
It's a feature introduced with the 80386, to make possible to run real mode applications in a transparent way, while the processor actually works on protected mode. Indeed, the previous 80286 protected mode suffered two limitations: a poor compatibility with real mode applications and the inability to revert to real mode without reseting the processor. As a result, to maintain compatibility with existing programs, users simply preferred to use their 80286 on real mode (with all its critical limitations: most notably the direct access to only 1024/1088 Kb RAM, and 640 Kb conventional memory). The virtual 8086 mode succeed to impose the protected mode, since the software compatibility was greatly improved (in fact, there remained some issues, but it was globally much better than 80286 mode).