Warum heißt der Unix-Linker "ld"

29

Versucht, im Internet zu suchen und konnte keine Antwort finden. Es hat vielleicht etwas mit "Laden" zu tun, aber das ergibt für mich keinen Sinn.

Offensichtlich wurde "ln" bereits aufgenommen, aber woher kommt das "d"?

Sebastian Redl
quelle
Wie würden Sie sicher wissen, dass die Verknüpfung vor dem Laden angezeigt wurde ?
94239
Ich würde nicht und könnte mich auch irren.
Sebastian Redl
Aber du könntest recht haben mein Lieber, sehen hier (verlinkt von hier (verlinkt von hier (aus verknüpften hier ))) , dass es bereits eine lnso lange , wie die arund ldin der ersten Ausgabe UNIX ca. 1971. Ich fürchte, die lebenden Autoren beginnen möglicherweise, diese Art von Anekdote zu vergessen.
94239

Antworten:

42

Linker unter Linux wurden ursprünglich als Loader bezeichnet. Siehe Assembler Schritt für Schritt: Programmieren mit Linux von Jeff Duntemann:

Verknüpfen der Objektcode-Datei

... Linux wird mit einem eigenen Linker namens ld ausgeliefert. (Der Name ist eigentlich eine Abkürzung für "load", und "loader" wurde ursprünglich in den 1970er Jahren im ersten Zeitalter von Unix als Linker bezeichnet.)

Robert Harvey
quelle
3
Beachten Sie, dass der Begriff "Laden" immer noch verwendet wird - wenn ein Programm gestartet wird, wird es in einem bestimmten Speicherbereich geladen, und bis zu einem gewissen Grad passieren die gleichen Vorgänge wie beim "Verknüpfen", nicht nur aufgrund der dynamischen / Laufzeit-Verknüpfung Loaders "von John R. Levine (ISBN: 1558604960) ist ein gutes Buch für diejenigen, die alle Details wissen wollen.
Johannes
4
Bitte, bitte, bitte, Leute, bitte denken Sie daran, dass Computer, Software und Betriebssysteme DID existieren, bevor Unix erfunden wurde. Der Begriff "Lader", wie in "Umsiedeln (oder umsiedelbar: beide Begriffe waren gebräuchlich) des Linkladers", geht auf LONG vor Unix zurück. Ich bin das erste Mal 1970 darauf gestoßen, und es würde mich sehr wundern, wenn es 1960 keinen Umzug von Verbindungsladern gäbe.
John R. Strohm,
@ JohnR.Strohm: Welches ist so ziemlich das, was mein verlinktes Zitat sagt.
Robert Harvey
1
@RobertHarvey: Der Punkt, den ich ansprechen wollte, ist, dass der Begriff "Loader" schon lange vor "dem ersten Zeitalter von Unix in den 1970er Jahren" verwendet wurde.
John R. Strohm
1
@ JohnR.Strohm: Ich bin mir nicht sicher, ob das wichtig ist. Im Interesse einer historisch genauen Darstellung können Sie jedoch auch eine maßgebliche Referenz hinzufügen.
Robert Harvey
12

Weil es "Linkeditor" ist. In Solaris- und AIX-Manpages heißt es beispielsweise ausdrücklich:

Im Kommentar zur Frage gibt es einen äußerst interessanten Link zu den Manpages von 1971 unter UNIX. Es gibt eine ldManpage, auf der ld-link editor explizit angegeben ist , siehe man12.pdf-Datei (Seite 20) :

NAME LD - Link Editor

Wikipedia erwähnt, dass es verschiedene Theorien gibt, eine ist "loader", eine ist "link editor".

Sidenote - erstaunliche reguläre Ausdrücke gab es bereits 1971 ...

user155813
quelle
Beweis hinzugefügt, extrem leicht zu finden, auch im Internet. Geben Sie jetzt bitte einen Grund für -1 an.
user155813
1
Ich habe nicht gewählt, deshalb kann ich Ihnen keine Gründe nennen. Andere haben vielleicht das Gefühl, Ihre Antwort sei zu dünn.
Martijn Pieters
2
Ich finde diese Antwort besser. ld ist definitiv ein Linkeditor oder Linker, da er nichts lädt. ld.so ist sowohl Linker als auch Loader.
Miroslav Franc
1
Link zur Manpage von 1971 geht verloren
Florian Castellane