Block Started by Symbol

a.out ist das ursprüngliche Dateiformat für ausführbare Dateien und Objektdateien von Unix-ähnlichen Betriebssystemen. In der Praxis wurde dieses Format weitgehend durch seine Nachfolger Common Object File Format (COFF) und Executable and Linking Format (ELF) verdrängt, obwohl es auch heute noch unterstützt wird.

Viele unixoide C-Compiler bzw. die diesen normalerweise automatisch nachgeschalteten Assembler erzeugen eine ausführbare Ausgabedatei mit dem voreingestellten Dateinamen a.out (Abkürzung für Assembler Output), sofern der Benutzer nicht ausdrücklich einen anderen Namen wählt; davon erhielt das zunächst namenlose Format seine Bezeichnung, sobald sich die Notwendigkeit ergab, mehrere verschiedene Formate zu unterscheiden. Verwirrenderweise trägt die Ausgabedatei des Compilers bzw. Assemblers auch dann standardmäßig den Dateinamen a.out, wenn sie nicht im Dateiformat a.out, sondern in einem der neueren Dateiformate erzeugt wird.

Ein Programm im a.out-Format besteht aus mehreren Teilen:

  • Der Kopfdatenbereich enthält Metainformationen über die Datei, wie z.B. die Größe der folgenden Segmente.
  • Text: Das eigentliche Programm als Maschinencode (nicht zu verwechseln mit dem Quelltext des Programms)
  • Data: Initialisierte Daten, wie Konstanten und Variablen, die beim Programmstart bereits einen definierten Anfangswert haben.
  • BSS: Uninitialisierte Daten. Das Akronym BSS steht für Block Started by Symbol und ist auf den gleichnamigen Pseudo-Operator zurückzuführen, mit dem in der Assemblersprache des Großrechners IBM 7090 Speicherplatz für uninitialisierte Daten reserviert wurde.[1] Während die Text- und Data-Segmente aus der Datei in den Speicher kopiert werden, ist das BSS-Segment nur als Größenangabe in den Kopfdaten der Datei vorhanden. Der Programmlader legt das Segment in der gewünschten Größe an und initialisiert es meist byteweise mit dem Wert 0.
  • Weitere optionale Informationen wie Symboltabelle und, wenn nötig, Relokationstabelle.

Das a.out-Format ist betriebssystemspezifisch, d.h. verschiedene Unix-Versionen verwenden leicht unterschiedliche Dateiformate. Mit der Weiterentwicklung von UNIX wurden die Mängel von a.out immer offensichtlicher, unterstützt das Format doch weder Debugging-Informationen (die deshalb in der Symboltabelle untergebracht werden mussten) noch dynamische Bibliotheken. Mit der Einführung von UNIX System V Release 3 wurde deshalb mit dem Common Object File Format ein zusätzliches, erweitertes Dateiformat für Objektdateien eingeführt.

Literatur

Einzelnachweise

  1. Maurice J. Bach: The Design of the UNIX Operating System, Prentice-Hall International, Englewood Cliffs, NJ 1986, ISBN 0-13-201757-1. Seite 25

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Block Out (band) — Infobox musical artist Name = Block Out Img capt = Block Out performing live on Nisomnia festival in 2007 Img size = Landscape = Background = group or band Alias = Origin = Belgrade, Serbia Genre = Alternative rock Doom metal Rock Years active =… …   Wikipedia

  • Nick Jr. (block) — For the 24/7 television network, see Nick Jr.. For other uses, see Nick Jr. (around the world). Nick Jr. Launched January 4, 1988 Closed February 2, 2009 Owned by Viacom (through Viacom International and …   Wikipedia

  • North by Northwest — For North northwest and related compass directions, see Boxing the compass. North by Northwest Poster by Saul Bass. Directed by …   Wikipedia

  • BSS — agricult. abbr. Basiodiacarp inducing Substance(s) abbr. Base Station System / Subsystem (GPRS, BSC, BTS) abbr. Basic Service Set (WLAN) abbr. Basic Synchronized Subset abbr. Block Started by Symbol (IBM, Assembler, Unix) abbr. Block Storage… …   United dictionary of abbreviations and acronyms

  • .bss — redirects here. For other uses, see BSS. In computer programming, .bss or bss (Block Started by Symbol) is used by many compilers and linkers as the name of the data segment containing static variables that are filled solely with zero valued data …   Wikipedia

  • Bss — Die Abkürzung BSS steht für: Broadcasting Satellite Services (Rundfunkdienste via Satellit) Base Station Subsystem (Mobilfunk) Basic Service Set (bei WLANs) Als Blind Source Separation bezeichnet man das Problem, die zugrundeliegenden Quellen… …   Deutsch Wikipedia

  • List of computing and IT abbreviations — This is a list of computing and IT acronyms and abbreviations. Contents: 0–9 A B C D E F G H I J K L M N O P Q R S T U V W X Y …   Wikipedia

  • Object file — OBJ file redirects here. For specific format used on DOS, see Relocatable Object Module Format. In computer science, an object file is an organized collection of separate, named sequences of machine code[citation needed]. Each sequence, or object …   Wikipedia

  • Abreviations en informatique B — Abréviations en informatique B B2B : Business to Business B2C : Business to Customer BACP : Bandwidth Allocation Control Protocol (en) (RFC 2125), voir Protocole point à point BAP : Bandwidth Allocation Protocol  …   Wikipédia en Français

  • Abréviations En Informatique B — B2B : Business to Business B2C : Business to Customer BACP : Bandwidth Allocation Control Protocol (en) (RFC 2125), voir Protocole point à point BAP : Bandwidth Allocation Protocol  …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”