x86 处理器中的虚拟 8086 模式和实地址模式有什么区别

What's the difference between Virtual-8086 Mode and Real-Address Mode in x86 processor

维基百科中对虚拟8086模式的解释是这样说的

In the 80386 microprocessor and later, virtual 8086 mode (also called virtual real mode, V86-mode or VM86) allows the execution of real mode applications that are incapable of running directly in protected mode while the processor is running a protected mode operating system

我认为这意味着虚拟8086模式可以访问系统内存和硬件设备。

以及实地址模式的解释

Real mode, also called real address mode, is an operating mode of all x86-compatible CPUs. Real mode is characterized by a 20-bit segmented memory address space (giving exactly 1 MiB of addressable memory) and unlimited direct software access to all addressable memory, I/O addresses and peripheral hardware. Real mode provides no support for memory protection, multitasking, or code privilege levels

我觉得他们没有区别。 有人知道吗??

Virtual-x86是工作在保护模式下的实地址模式

I think this means that virtual 8086 mode can access to system memory and hardware devices.

不,不是真的。在虚拟 8086 模式下,后台还有一个保护模式操作系统(设置虚拟部分的操作系统)运行 并决定您可以访问哪些内存和设备。一些设备也可能是虚拟的,并由系统模拟。例如旧显卡。

在实模式下,程序直接在真实硬件上运行——就像它在原始 8086 中的运行方式(这是唯一的模式)。即使有操作系统,如PC-DOS,应用程序仍然可以无限制地访问所有硬件和所有内存。当然也很容易让一切崩溃。