WCU / Cybersecurity
~/CSC 472/Class 02/KP 02
Class 02 · KP 02 / 23

Process Virtual Address Space (Linux x86-64)

High address 0x7fff...Stackgrows downShared libs / mmap (libc)Heapgrows upBSS / Dataglobals.text (code)read + executeLow address 0x0000
Linux x86-64 process address space: the stack grows down, the heap grows up.
  • Every process sees a private, flat 64-bit virtual address space (user space typically the low 47 bits: 0x0 up to 0x00007fffffffffff).
  • 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