Process Virtual Address Space (Linux x86-64)
- Every process sees a private, flat 64-bit virtual address space (user space typically the low 47 bits:
0x0up to0x00007fffffffffff). - The kernel + MMU map virtual pages to physical frames; each process is isolated from the others.
- The address space is carved into regions with different permissions (read / write / execute).
The classic segments
.text (code) · .rodata (constants) ·
.data (init globals) · .bss (zero globals) ·
heap · mmap / shared libs · stack