Protected Mode - For 32-bit systems, protected mode allows each process a total of 4GB of memory. This is the mode that is used by modern operating systems run on x86.
Virtual 8086 Mode - is a x86 running in protected mode, but creates a virtual 8086 machine with its own 1MB address space that simulates real-address mode (Microsoft uses this mode for the "sandbox" DOS interface that Windows provides).
Since the 8086 processor could address up to 20-bits of memory, but its registers could hold only 16-bits, Intel introduced a technique called segmentation to take advantage of the entire address space. Segmentation is achieved by supplying the CPU with a 16-bit segment and a 16-bit offset, which it turns into a 20-bit linear address.
Programs are required to specify 2 segments: a code segment (CS), a data segment (DS). The stack segment (SS) is also usually specified. There are also three more general segments (ES, FS, GS) that can be specified. Each segment register accesses a segment descriptor table for its type of segment. In modern systems, the three common segments are generally set to a flat segmentation model, which includes the entire 4GB address space. (If virtual memory was not used, it is easy to visualize segment limits being set to restrict processes to certain ranges of memory, and therefore prevent them from accessing segments of memory allocated to other processes).