Por que o vinculador Unix é chamado de "ld"

29

Tentou pesquisar na web e não conseguiu encontrar uma resposta. Pode ter algo a ver com "load", mas isso não faz muito sentido para mim.

Obviamente, "ln" já foi tirado, mas de onde vem esse "d"?

Sebastian Redl
fonte
Como você saberia assertivamente que o link apareceu antes do carregamento ?
94239
Eu não, e pode muito bem estar errado sobre isso.
Sebastian Redl
Mas você pode estar certo, minha querida, veja aqui (ligada a partir de aqui (ligada a partir de aqui (ligada a partir de aqui ))) que há já um ln, desde que o are ldna primeira edição UNIX ca. 1971. Receio que os autores vivos estejam começando a esquecer esse tipo de anedota.
94239 07/02

Respostas:

42

Os vinculadores no Linux foram originalmente chamados de carregadores. Veja Linguagem Assembly passo a passo: programação com Linux por Jeff Duntemann:

Vinculando o arquivo de código do objeto

... O Linux vem com seu próprio vinculador, chamado ld. (Na verdade, o nome é abreviação de "load", e "loader" era como os linkers eram originalmente chamados, na Primeira Era do Unix, na década de 1970.)

Robert Harvey
fonte
3
Observe que o termo "carregamento" ainda é usado - ao iniciar um programa, ele é carregado em alguma área da memória e, até certo ponto, ocorrem as mesmas operações de "vinculação", não apenas devido à vinculação dinâmica / runtime. " Loaders ", de John R. Levine (ISBN: 1558604960), é um bom livro para quem deseja conhecer todos os detalhes.
Johannes
4
Por favor, por favor, pessoal, por favor, tente lembrar que computadores, software e sistemas operacionais existiam antes do Unix ser inventado. O termo "carregador", como em "realocando (ou relocável: ambos os termos eram comuns) vinculando o carregador", remonta a LONG antes do Unix. A primeira vez que encontrei com ele por volta de 1970, e eu ficaria muito surpreso se não foram mudando carregadores ligando em 1960.
John R. Strohm
@ JohnR.Strohm: O que é praticamente o que minha citação vinculada diz.
9788 Robert
1
@RobertHarvey: O argumento que eu estava tentando destacar é que o termo "loader" remonta muito antes de "a Primeira Era do Unix, na década de 1970".
John R. Strohm
1
@ JohnR.Strohm: Não sei se isso importa. No entanto, no interesse de ser historicamente preciso, fique à vontade para editar em uma referência autorizada.
9788 Robert
12

Porque é "editor de links". Por exemplo, as páginas de manual do Solaris e do AIX dizem explicitamente:

No comentário à pergunta, há um link extremamente interessante para as páginas de manual do UNIX de 1971. Há uma ldpágina de manual, que declara explicitamente o editor de link-ld , consulte o arquivo man12.pdf (página 20) :

NAME ld - editor de links

A Wikipedia menciona que existem diferentes teorias, uma é "loader" e outra é "editor de links".

Sidenote - surpreendentes expressões regulares já existiam em 1971 ...

user155813
fonte
Prova adicionada, extremamente fácil de encontrar, mesmo na internet. Agora forneça o motivo dos -1's.
user155813
1
Eu não votei, então não posso lhe dar nenhuma razão. Outros podem ter achado que sua resposta era muito pequena no chão.
Martijn Pieters 11/11
2
Acho esta resposta melhor. Definitivamente, o ld é editor ou vinculador de links, pois não carrega nada. O ld.so é vinculador e carregador.
Franc Miroslav
1
link para a página 1971 o homem está perdido para bit rot
Florian Castellane