I'm completely confused about explanation of virtual memory in TLDP:
Each individual process runs in its own virtual address space and is not capable of interacting with another process except through secure, kernel managed mechanisms.
"Own virtual address space" for me reads as own 4Gb RAM in 32-bit mode: 0000:0000 - FFFF:FFFF. But they didn't mean that, right? If two processes point to virtual address 1111:1111, they mean the same physical address, so the same 4 Gb virtual address space is shared by all processes?
Besides, I've read about Windows here, that they really have individual virtual address spaces for each process, separate 2Gb RAM for user mode and shared 2Gb for kernel mode, so 2 different processes can both point to 1111:1111, which maps to different physical memory. Do they? :)
UPDATE: illustrations to my question. Which of the pictures is right for Linux: