The Linux Virtual Memory Map (as seen by a userspace program)
| Starts at | Contains | ffffffff |< End of the universe | c0000000 |< Off limits, reserved for the kernel | xxxxxxxx |< Process stack (grows down) | bffff000 |< Process heap (grows up) | 40000000 |< Libraries | zzzzzzzz |< Unused | yyyyyyyy |< .bss segment, uninitialised proram data | xxxxxxxx |< .data segment, initialised program data | 08048000 |< .text segment, program code | 00000000 |< Unmapped to trap NULL pointers
One page links to MemoryMap: