Executable Formats: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
Combuster (talk | contribs)
Revamped article
No edit summary
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
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.
{{Convert}}

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 one or more executable file types unique to itself.

== 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,
Line 11: Line 8:
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).
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).


== Related Pages ==
== See Also ==
=== Articles ===
=== Articles ===
* [[:Category:Executable Formats|List of executable formats]]
* [[:Category:Executable Formats|List of executable formats]]
Line 18: Line 15:
* The [http://www.iecc.com/linker/ Linkers and Loaders] online book...
* The [http://www.iecc.com/linker/ Linkers and Loaders] online book...
* [http://perso.wanadoo.fr/pierrelib/exec_formats/index.html Pierre's Library]
* [http://perso.wanadoo.fr/pierrelib/exec_formats/index.html Pierre's Library]

[[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