While this is part of the address space, it cannot be addressed
directly by the process. It must be addressed via system calls.
Used by the program for variables and storage. It grows and shrinks
in size depending on what routines are called and what their stack
space requirements are. It is normally about 8MB in size.
Shared libraries are position independent so that they can be shared
by all programs that want to use them. One common example is
This is the address space that is unallocated and unused. It
does not tie up physical memory. For most processes, this is
the largest portion of the virtual memory for the process.
Used for some types of working storage. It is allocated by
Uninitialized variables. These are not part of the executable file
and their initial value is set to zeros.
Global variables, constants, static variables from the program.
Set of instructions from the compiler-generated executable file.