As GUIs representam um tipo de shell separado?

0

Quando eu instalo algumas distros do Linux com uma GUI, elas vêm com os shells sh e Bash . A CLI permite operar o sistema através de sh e Bash , mas e a GUI? A GUI permite operar o sistema através de sh e Bash ou possui seu próprio shell para intermediar entre você e o kernel?

    
por Arcticooling 13.11.2017 / 02:54

1 resposta

3

Um shell, na terminologia de computação, é a camada mais externa do sistema operacional, isto é, a parte do sistema operacional com a qual o usuário interage. (Veja também a excelente exposição sobre Superusuário do JdeBP.) Assim, no Windows, o shell típico é o Explorer (que gerencia a área de trabalho); no Mac OS em suas várias encarnações, é o localizador; em sistemas no estilo Unix, é o que o usuário configurou como a interface principal do sistema (pode ser /bin/bash , ou /bin/ksh , ou algum outro /bin/*sh em um console, ou GNOME, ou Looking Glass ou CDE ou twm , a lista continua e continua).

No entanto, muitos leitores se referem ao POSIX, onde o shell tem uma definição específica :

The shell is a command language interpreter.

... com sintaxe e comandos específicos, todos definidos em POSIX e estendidos por implementações de shell comuns hoje em dia.

Ambas as categorias de shell usam o mesmo tipo de método para interagir com o kernel, pelo menos em sistemas no estilo Unix: eles finalmente usam chamadas de sistema, embora geralmente envolvidas por algum tipo de biblioteca (a biblioteca C). Essa é a interface de comando central entre o kernel e todos os programas em execução, incluindo shells de vários tipos: Bash usa chamadas do sistema, o GNOME Shell usa chamadas do sistema, Nautilus usa chamadas do sistema, etc. Uma GUI pode ser implementada inteiramente sem usar /bin/sh . / p>

(Tudo isso acaba sendo um pouco confuso quando se percebe que vários componentes de uma GUI típica podem ser implementados usando ferramentas diferentes, incluindo, é claro, o shell “CLI” - então normalmente há partes de uma GUI do Linux implementada usando /bin/sh , mas eles não têm para ser.)

    
por 13.11.2017 / 06:48

Tags