Estou curioso sobre o termo "concha". Eu acho que sei o que é (embora a distinção entre "shell" e "terminal" ainda seja imprecisa), mas por que a palavra "shell" foi escolhida para descrever esse tipo de programa?
Isso pode parecer sem importância, mas geralmente quando a palavra escolha me intriga, está apontando para uma lacuna no meu entendimento.
shell
terminology
Eric Wilson
fonte
fonte
Respostas:
O glossário Multics pode fornecer uma pista. O shell é definido assim:
A relação entre shell e ouvinte faz sentido etimologicamente e metaforicamente [1].
[1] "Visto que a concha é um símbolo de autoridade, fala e audição, ou seja, um símbolo de profecia ..."
fonte
A analogia é com uma porca : fora é a concha, dentro é o núcleo.
fonte
De http://en.wikipedia.org/wiki/Thompson_shell#History
"O nome" shell "para um interpretador de linha de comando e o conceito de tornar o shell um programa de usuário fora do kernel do sistema operacional foram introduzidos no precursor do Unix, Multics".
Mais abaixo, na wikipedia, a toca do coelho encontra o seguinte: "Louis Pouzin, introduziu o termo shell para a linguagem de comando usada no Multics"
Eu não li na íntegra, mas os escritos aqui podem dar a resposta: http://www.multicians.org/shell.html
EDIT: na verdade, não é explicado. Ele apenas "cunhou" o termo. Não é a história engraçada que você estava esperando, era?
fonte
Talvez porque seja a superfície, protegendo o núcleo interno do usuário? Portanto, o núcleo seria a pérola dentro da casca.
fonte
Looks like the answer lies here:
- Wikipedia
Ou seja, "shell" era uma boa analogia do mundo real de como Multics, um antecessor do Unix, executava programas.
fonte
Pelo que entendi, "shell" é um termo mais antigo para o que agora chamaríamos de "Interface do Usuário Principal". O termo análogo moderno seria "ambiente de desktop", uma vez que todos os sistemas modernos usam a metáfora do desktop.
fonte
O kernel é o núcleo do sistema, enquanto o shell o envolve e é a interface entre o kernel e o usuário.
Em qualquer sistema UNIX, e mesmo nos sistemas Linux, o shell é o local em que os administradores de sistemas trabalham para configurar e gerenciar um sistema.
A terminologia moderna geralmente usa o termo CLI ou interface da linha de comandos para descrever o prompt do shell. Isso é deferência à GUI ou interface gráfica do usuário. No entanto, qualquer Sysadmin real sabe que você não deve usar ferramentas da GUI para configurar um UNIX / Linux e trabalhar apenas diretamente no prompt de comando do shell.
Isso é ainda mais relevante hoje em dia, quando ouvimos alguns entusiastas do Linux dizendo coisas como "Eu uso o Linux, mas eu realmente não aprendi a CLI".
Como diz o velho ditado "Se você não pode fazê-lo no prompt do shell, não pode fazê-lo".
fonte