Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Memory map

The memory space of each process is divided into several chunks. Those chunks are described for each architecture in the following sections.

x86 (32-bit)

BeginEndDescription
0x000000000x00001000Not mapped, for the NULL pointer
0x000010000xc0000000Userspace (program image, stack, heap)
0xc0000000endKernel space

x86_64

BeginEndDescription
0x00000000000000000x0000000000001000Not mapped, for the NULL pointer
0x00000000000010000x0000800000000000Userspace (program image, stack, heap)
0x00008000000000000xffff800000000000Canonical hole, cannot be used
0xffff800000000000endKernel space