An executable format is the file format created by the compiler and linker, and that is then loaded into memory by the operating system's loader. The number of different executable file types is as many and varied as the number of different image and sound file formats. This page gives an introduction to the theory behind these formats.
- TEXT is the actual executable code area,
- DATA is "initialized" data,
- BSS is "un-initialized" data.
The BSS (Block Started by Symbol) needn't to be present in an executable file. At load-time, the loader will still allocate memory for it and wipes this memory with zeros (this is assumed by C programs, for instance).