Process Address Space
Whenever an executable file is executed, it becomes a process. An executable file contains binary code grouped into a number of blocks called segments. Each segment is used for storing a particular type of data. A few segment names of a typical ELF executable file are listed below.
- text — Segment containing executable code
- .bss — Segment containing data initialized to zero
- data — Segment containing initialized data
- symtab — Segment containing the program symbols (e.g., function name, variable names, etc.)
- interp — Segment containing the name of the interpreter to be used
The readelf
command can provide further details of the ELF file. When such a file is loaded in the memory for execution, the segments are loaded in memory. It is not necessary for the entire executable to be loaded in contiguous memory locations. Memory is divided into equal sized partitions called pages (typically 4KB). Hence when the executable is loaded in the memory, different parts of the executable are placed in different pages (which might not be contiguous). Consider an ELF executable file of size 10K. If the page size supported by the OS is 4K, then the file will be split into three pieces (also called frames) of size 4K, 4K, and 2K respectively. These three frames will be accommodated in any three free pages in memory.
Read more about this topic: Fork (operating System)
Famous quotes containing the words process, address and/or space:
“A process in the weather of the world
Turns ghost to ghost; each mothered child
Sits in their double shade.
A process blows the moon into the sun,
Pulls down the shabby curtains of the skin;
And the heart gives up its dead.”
—Dylan Thomas (19141953)
“In the mythus a superhuman intelligence uses the unconscious thoughts and dreams of men as its hieroglyphics to address men unborn.”
—Henry David Thoreau (18171862)
“Our passionate preoccupation with the sky, the stars, and a God somewhere in outer space is a homing impulse. We are drawn back to where we came from.”
—Eric Hoffer (19021983)