5.3. Virtual Address Spaces
The virtual address space of a process is the range of memory addresses that are presented to the process as its environment; some addresses are mapped to physical memory, some are not. A process's virtual address space skeleton is created by the kernel at the time the fork() system call creates the process. (See “Process Creation”.) The virtual address layout within a process is set up by the dynamic linker and sometimes varies across different hardware platforms. As we saw in Figure 5.1, virtual address spaces are assembled from a series of memory segments. Each process has at least four segments:
Executable text — The executable instructions in the binary reside in the text segment. The text segment is mapped from ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access