Executable Formats: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
No edit summary
No edit summary
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The number of different executable file types is as many and varied as the number of different image and sound file formats. Every Operating System seems to have several executable file types unique to itself. This part of the FAQ will give a brief rundown on the various types you will come across.
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.

A quick intro to a few terms:


== Definitions ==
* TEXT is the actual executable code area,
* TEXT is the actual executable code area,
* DATA is "initialized" data,
* DATA is "initialized" data,
* BSS is "un-initialized" data.
* BSS is "un-initialized" data.


The BSS (Below Stack Segment) 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).
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).


== See Also ==
If you're looking for comprehensive informations, consider using the [http://www.wotsit.org/ Programmer's File Format Collection] and the [http://www.iecc.com/linker/ Linkers and Loaders] online book... You can also check [http://perso.wanadoo.fr/pierrelib/exec_formats/index.html Pierre's Library]
=== Articles ===
* [[:Category:Executable Formats|List of executable formats]]
=== External Links ===
* [http://www.wotsit.org/ Wotsit's Programmer's File Format Collection]
* The [http://www.iecc.com/linker/ Linkers and Loaders] online book...
* [http://perso.wanadoo.fr/pierrelib/exec_formats/index.html Pierre's Library]


[[Category:Executable Formats]]
[[Category:Executable Formats]]
[[Category:OS theory]]

Latest revision as of 04:33, 9 July 2023

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.

Definitions

  • 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).

See Also

Articles

External Links