14.01.2015 Aufrufe

Dynamische Adaption in heterogenen verteilten eingebetteten ...

Dynamische Adaption in heterogenen verteilten eingebetteten ...

Dynamische Adaption in heterogenen verteilten eingebetteten ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

4 Basisschicht e<strong>in</strong>es Verwalters<br />

4.2.4 B<strong>in</strong>ärdateien<br />

Quellcode wird üblicherweise von e<strong>in</strong>em Compiler und e<strong>in</strong>em Assembler <strong>in</strong> e<strong>in</strong>e Objektdatei übersetzt.<br />

Anschließend werden mehrere Objektdateien durch den L<strong>in</strong>ker zu e<strong>in</strong>em ausführbaren Programm<br />

zusammengebunden (Abbildung 4.1). Es gibt e<strong>in</strong>e Reihe von unterschiedlichen B<strong>in</strong>ärformaten, <strong>in</strong><br />

denen die Objektdateien und das ausführbare Programm gespeichert se<strong>in</strong> können. Welches verwendet<br />

wird, hängt hauptsächlich von der Unterstützung des Betriebssystems ab.<br />

Abbildung 4.1: Ablauf beim Erstellen e<strong>in</strong>es Programms<br />

Aus zwei Quellcodedateien wird hier e<strong>in</strong> ausführbares Programm gebaut. Zunächst werden die Quellcodedateien <strong>in</strong><br />

Objektdateien übersetzt. Anschließend werden diese zu e<strong>in</strong>em ausführbaren Programm gebunden.<br />

Dieser Abschnitt gibt e<strong>in</strong>en Überblick über B<strong>in</strong>ärdateien und <strong>in</strong>sbesondere Objektdateien. Dabei<br />

werden zunächst die verschiedenen Dateitypen aufgezeigt, die e<strong>in</strong> B<strong>in</strong>ärformat darstellen kann. Danach<br />

wird der Inhalt und generelle Aufbau von Objektdateien vorgestellt. Schließlich sollen e<strong>in</strong>ige bekannte<br />

Objektdateiformate betrachtet werden.<br />

4.2.4.1 Arten von B<strong>in</strong>ärdateien<br />

Durch die meisten B<strong>in</strong>ärformate lassen sich vier Dateitypen darstellen:<br />

• Relokierbare (verschiebbare) Objektdateien (relocatable files)<br />

Diese Dateien entstehen aus e<strong>in</strong>zelnen Quellcodedateien nach dem Übersetzen und enthalten den<br />

noch nicht gebundenen B<strong>in</strong>ärcode. Zusätzlich s<strong>in</strong>d Informationen enthalten, welche beschreiben,<br />

wie dieser Code mit anderem Code zusammengebunden werden muss und wo er im Speicher<br />

abgelegt werden darf. Dies s<strong>in</strong>d Informationen für den B<strong>in</strong>der, der aus mehreren Objektdateien<br />

e<strong>in</strong>e ausführbare Programmdatei oder e<strong>in</strong>e geme<strong>in</strong>sam genutzte Bibliothek erstellen kann.<br />

• Ausführbare Programmdateien (executable files)<br />

E<strong>in</strong>e Programmdatei enthält den gebundenen B<strong>in</strong>ärcode, der für die Ausführung an festgelegten<br />

Adressen vorgesehen ist. Außerdem s<strong>in</strong>d Informationen enthalten, die es dem Betriebssystem<br />

ermöglichen, e<strong>in</strong>en neuen Prozess zu erzeugen, der die enthaltenen Daten und Code verwendet.<br />

• Geme<strong>in</strong>sam benutzte Objektdateien (shared object files)<br />

Dieser Dateityp stellt e<strong>in</strong>e Mischung der beiden vorherigen Dateitypen dar. Er enthält teilweise<br />

gebundenen B<strong>in</strong>ärcode und Informationen zum weiteren dynamischen oder statischen B<strong>in</strong>den.<br />

Dateien dieses Typs kann man mit anderen Objektdateien zu ausführbaren Programmen zusammenb<strong>in</strong>den,<br />

alle<strong>in</strong>e s<strong>in</strong>d sie nicht ausführbar. Unterstützung für diesen Dateityp wurde <strong>in</strong> e<strong>in</strong>igen<br />

älteren B<strong>in</strong>ärdateiformaten erst nachträglich <strong>in</strong>tegriert.<br />

• Speicherabbilddateien (core files)<br />

Manche B<strong>in</strong>ärformate können auch e<strong>in</strong>gesetzt werden, um Prozessabbilder zu speichern, wenn<br />

42

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!