Metáfora para o conceito de shell?

5

Estou me vendo ajudando alguns colegas na minha aula de ciências da computação, porque tenho experiência anterior em desenvolvimento e estou tendo dificuldades em explicar certas coisas como o shell. O que é uma boa metáfora para o shell no contexto do Terminal no Mac, em contraste com um shell remoto via SSH?

    
por Moshe 09.02.2012 / 17:01

9 respostas

4

Simplificando, um terminal é um ambiente de E / S para os programas operarem, e um shell é um processador de comandos que permite a entrada de comandos para causar ações (geralmente de forma interativa e não interativa). O shell é executado dentro do terminal como um programa.

Há pouca diferença entre um shell local e um remoto, além de serem locais e remotos (e um shell remoto geralmente está conectado a um pty, embora os shells locais também possam ser).

    
por 09.02.2012 / 17:16
9

Hey you speak with the computer!

(Citação de uma criança que descobre a casca.)

“O shell” é basicamente um idioma que o computador pode reconhecer, obedecer e responder se solicitado.

Local ou não faz diferença. Pense em um shell remoto como um equivalente de comunicação pelo telefone.

    
por 09.02.2012 / 17:33
5

Um shell é a interface através da qual um usuário interage com um computador. O Windows GUI em si é um shell. Um shell de linha de comando requer que o usuário digite comandos em oposição a apontar e clicar.

    
por 09.02.2012 / 17:38
1

shell é uma interface para o usuário interagir com o sistema operacional usando comandos.

Eu gosto da declaração abaixo.

navegadores da web e clientes de e-mail que são "shells" para mecanismos de renderização de HTML

    
por 10.02.2012 / 12:07
0

Se você está apenas observando a diferença entre um shell local e remoto, que tal Fing-Longer Fama de Futurama? É como ter um dedo muito longo para digitar em um teclado em outra máquina.

    
por 09.02.2012 / 17:13
0

Não há necessidade de uma metáfora, na verdade:

Local shell - um local onde você pode digitar comandos no seu computador
Shell remoto - um local onde você pode digitar comandos em um computador remoto

    
por 09.02.2012 / 19:45
0

Um shell é um iniciador de programas.

Pode ser baseado em linha de comando ou baseado em GUI. Geralmente, os shells GUI são profundamente integrados aos gerenciadores de arquivos, já que é conveniente iniciar um programa escolhendo um arquivo primeiro.

Sem nada parecido com um shell, não haveria mecanismo para informar ao computador quais programas você deseja executar e sempre executaria um conjunto fixo de programas desde a inicialização até o desligamento. Às vezes isso é desejável, ou seja, quiosques.

    
por 10.02.2012 / 14:00
0

Primeiro, eles precisam entender o conceito de interface. Como um terminal, uma interface é um ponto final de comunicação entre dois ou mais programas.

O Unix revolucionou o conceito de comunicação, unificando os conceitos de comunicação entre processos com a rede. Melhor ainda: tudo é um arquivo.

Portanto, um shell é uma interface entre um usuário e um sistema operacional que usa um determinado idioma para interagir. Seja na mesma máquina ou na rede: o que você vê é o que você obtém.

Os mecanismos subjacentes fornecem uma camada na qual você pode ligar um shell de login. Um shell não se importa onde está vinculado porque não é sua jurisdição. Mecanismos subjacentes cuidam de manter o shell conectado e realizar qualquer tarefa que você alimenta através da interface do shell.

Quem precisa de um ambiente gráfico quando você tem um shell? Usuários inexperientes, é claro!

    
por 15.02.2012 / 19:13
0

Concha local: Ei, você está falando com o computador cara a cara ...

Shell remoto: Vamos usar a linha telefônica para falar com este computador ...

    
por 16.02.2012 / 10:41