Rechtskräftig und Linkable-Format

In der Computerwissenschaft, dem Rechtskräftigen und Linkable-Format (ELF, früher genannte Ausziehbare Verbindung des Formats) ist ein allgemeines Standarddateiformat für executables, Gegenstand-Code, hat Bibliotheken und Kernmüllkippen geteilt. Zuerst veröffentlicht im System V Anwendung Binäre Schnittstelle-Spezifizierung, und später im Werkzeug-Schnittstelle-Standard wurde es unter verschiedenen Verkäufern von Systemen von Unix schnell akzeptiert. 1999 wurde es als das binäre Standarddateiformat für Systeme von Unix und Unix-like auf x86 durch 86open Projekt gewählt.

Verschieden von vielen rechtskräftigen Eigentumsdateiformaten ist ELF flexibel und ausziehbar, und es wird zu keinem besonderen Verarbeiter oder Architektur gebunden. Das hat ihm erlaubt, durch viele verschiedene Betriebssysteme auf vielen verschiedenen Plattformen angenommen zu werden.

ELF-Dateilay-Out

Jede ELF-Datei wird aus einem ELF-Kopfball zusammengesetzt, der von Dateidaten gefolgt ist. Die Dateidaten können einschließen:

  • Programm-Kopfball-Tisch, Null oder mehr Segmente beschreibend
  • Abteilungskopfball-Tisch, Null oder mehr Abteilungen beschreibend
  • Daten haben sich auf durch Einträge im Programm-Kopfball-Tisch oder Abteilungskopfball-Tisch bezogen

Die Segmente enthalten Information, die für die Laufzeitausführung der Datei notwendig ist, während Abteilungen wichtige Daten für die Verbindung und Wiederposition enthalten. Jedes Byte in der kompletten Datei kann von höchstens einer Abteilung im Besitz sein, und es kann Waisenbytes geben, die von keiner Abteilung im Besitz sind.

Werkzeuge

  • ist Unix binäres Dienstprogramm, das Information über eine oder mehr ELF-Dateien zeigt. Eine Durchführung der kostenlosen Software wird vom GNU Binutils zur Verfügung gestellt.
  • ist ein Befehl, um ELF-Information in einer ELF-Datei anzusehen, die unter Solaris und FreeBSD verfügbar ist.
  • stellt eine breite Reihe der Information über ELF-Dateien und andere Gegenstand-Formate zur Verfügung. verwendet die Binäre Dateideskriptor-Bibliothek als ein Zurückende, um die ELF-Daten zu strukturieren.
  • Das Unix Dienstprogramm kann etwas Information über ELF-Dateien einschließlich der Befehlssatz-Architektur zeigen, für die der Code in einer relokatierbaren, rechtskräftigen oder geteilten Gegenstand-Datei beabsichtigt ist, oder auf dem eine ELF-Kernmüllkippe erzeugt wurde.

Anwendungen

Das ELF-Format hat ältere rechtskräftige Formate in verschiedenen Umgebungen ersetzt.

Es hat a.out und COFF-Formate in Unix ähnlichen Betriebssystemen ersetzt:

ELF hat auch etwas Adoption in non-Unix Betriebssysteme gesehen wie:

  • OpenVMS, in seiner Version von Itanium
  • Revision von BeOS 4 und später für x86 hat Computer gestützt (wo es das Tragbare Rechtskräftige Format ersetzt hat; die Version von PowerPC ist beim Bevorzugten Rechtskräftigen Format geblieben).
  • Haiku, die offene Quellwiederdurchführung von BeOS.

Einige Spielkonsolen verwenden auch ELFEN:

Andere Betriebssysteme, die auf PowerPC mit dem ELFEN laufen:

  • AmigaOS 4, der rechtskräftige ELF hat den vorherigen EHF ersetzt (Verlängertes Stück-Format), der auf mit PPC-Verarbeiter-Vergrößerungskarten ausgestattetem Amigas verwendet wurde.
  • MorphOS
  • AROS

Einige Betriebssysteme für Mobiltelefone und bewegliche Geräte verwenden ELFEN:

  • Symbian OS v9 verwendet E32Image-Format, das auf dem ELF-Dateiformat basiert;
  • Sony Ericsson, zum Beispiel, der W800i, W610, W300, usw.
  • Siemens, der SGOLD und die SGOLD2 Plattformen: von Siemens C65 bis S75 und BenQ-Siemens E71/EL71);
  • Motorola, zum Beispiel, der E398, SLVR L7, v360, v3i (und der ganze Telefon-LTE2, der den Fleck anwenden ließ)
  • Bada (Betriebssystem), zum Beispiel, die Welle von Samsung S8500.

Einige Kopfhörer können ELF-Dateien durch den Gebrauch eines Flecks führen, der Zusammenbau-Code zum wichtigen firmware (bekannt als der ELFPack, in der Untergrundbahn modding Kultur) hinzufügt.

Das ELF-Dateiformat wird auch mit dem Atmel AVR (8 Bit) und AVR32 Mikrokontrolleur architecures verwendet.

Spezifizierungen

86open

86open war ein Projekt, Einigkeit auf einem allgemeinen binären Dateiformat für Unix und Unix-like Betriebssysteme auf dem allgemeinen PC vereinbare x86 Architektur zu bilden, um Softwareentwickler dazu zu ermuntern, zur Architektur nach Backbord zu halten. Die anfängliche Idee war, auf einer kleinen Teilmenge der Spekulation 1170, einen Vorgänger der Einzelnen UNIX Spezifizierung und das GNU C Bibliothek (glibc) zu standardisieren, um unmodifizierten Dualzahlen zu ermöglichen, auf den x86 UNIX ähnlichen Betriebssystemen zu laufen. Das Projekt ist ursprünglich "Spekulation 150" genannt geworden.

Das schließlich gewählte Format war ELF, spezifisch die Durchführung von Linux des ELFEN, nachdem es sich erwiesen hatte, ein De-Facto-Standard zu sein, der von allen beteiligten Verkäufern und Betriebssystemen unterstützt ist.

Die Gruppe hat E-Mail-Diskussionen 1997 angefangen und hat sich zuerst persönlich an den Büros von Santa Cruz Operation am 1997-08-22 getroffen.

Der Lenkungsausschuss war Marc Ewing, Dion Johnson, Evan Leibovitch, Bruce Perens, Andrew Roach, Bryan Sparks und Linus Torvalds. Andere Leute auf dem Projekt waren Tim Bird, Keith Bostic, Chuck Cranor, Michael Davidson, Chris G. Demetriou, Ulrich Drepper, Don Dugger, Steve Ginzburg, Jon "maddog" Saal, Ron Holt, Jordan Hubbard, Dave Jensen, Kean Johnston, Andrew Josey, Robert Lipe, Bela Lubkin, Tim Marsland, Greg Page, Ronald Joe Record, Tim Ruckle, Joel Silverstein, Chia-pi Tien und Erik Troan. Betriebssysteme und Gesellschaften haben vertreten waren BeOS, BSDI, FreeBSD, Intel, Linux, NetBSD, SCO and SunSoft, Inc.

Das Projekt ist fortgeschritten und Mitte 1998, SCO hat begonnen, lxrun, eine Vereinbarkeitsschicht der offenen Quelle zu entwickeln, die dazu fähig ist, Dualzahlen von Linux auf OpenServer, UnixWare und Solaris zu führen. SCO hat offizielle Unterstützung von lxrun an LinuxWorld im März 1999 bekannt gegeben. Sonne-Mikrosysteme haben offiziell begonnen, lxrun für Solaris Anfang 1999 zu unterstützen, und haben zur einheitlichen Unterstützung von Linux binäres Format über Solaris Behälter für Linux Anwendungen seitdem bewegt.

Mit dem BSDs, der lange Dualzahlen von Linux (durch eine Vereinbarkeitsschicht) und die x86 Hauptverkäufer von Unix unterstützt hat, die Unterstützung für das Format hinzugefügt haben, hat das Projekt entschieden, dass Linux ELF das durch die Industrie gewählte Format war und "[d] selbst aufgelöst" am 25. Juli 1999 erklären.

FatELF: Universale Dualzahlen für Linux

FatELF ist eine ELF-Erweiterung des binären Formats, die Fette binäre Fähigkeiten hinzufügt. Darauf wird Linux und andere Unix ähnliche Operationssysteme gezielt. Zusätzlich zur Zentraleinheitsarchitektur-Abstraktion (Byte-Ordnung, Wortgröße, Zentraleinheitsbefehlssatz usw.), gibt es den potenziellen Vorteil der Softwareplattform-Abstraktion z.B Dualzahlen, die ABIs vielfache Kernversionen unterstützen.

Ein Beweis des Konzepts Ubuntu 9.04 Image (VM Image von Ubuntu 9.04 mit der Fetten Binären Unterstützung) und Entwicklungswerkzeuge ist verfügbar. Bezüglich 2011 wird die Unterstützung für FatELF in die Kernhauptstrecke nicht integriert.

Siehe auch

Weiterführende Literatur

Außenverbindungen

Häufig gestellte

Ezekiel / Forscher-Programm
Impressum & Datenschutz