SóProvas


ID
2510266
Banca
NC-UFPR
Órgão
ITAIPU BINACIONAL
Ano
2017
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em sistemas UNIX, é comum a utilização de pipes para a comunicação entre processos. Sobre pipes, identifique como verdadeiras (V) ou falsas (F) as seguintes afirmativas:


( ) Sua capacidade de armazenamento é infinita, apenas limitada pela memória da máquina.

( ) É visto pelo processo como um arquivo.

( ) Permite a comunicação entre exatamente dois processos.

( ) Sua leitura e escrita são realizadas completamente em nível de usuário.


Assinale a alternativa que apresenta a sequência correta, de cima para baixo.

Alternativas
Comentários
  • Gabarito B

    O pipe no shell, faz com que eu possa jogar um comando, para dentro de outro!!

    Ihh.. enrolou tudo. Vamos explicar melhor: todo comando no Linux, irá mostrar um resultado que chamamos de “saída do comando”.

    E essa saída do comando sempre irá aparecer na tela (monitor) que é a saída padrão.

    O pipe, tem o poder de fazer com que a saída de um comando não vá para a tela, e sim para o outro comando;

    O nosso ls recursivo passou tudo muito rápido! Então, vamos usar o comando more para paginar!

    Vejam:

    # ls /R | more

    Agora sim, o ls vai esperar um a cada tela cheia! Fazendo uma comparação, (uiiiii!) o more aqui funcionaria como a opção -p do comando dir usado no DOS!

    E usamos o | (pipe) para dizer que a saída do comando ls que vinha muito rápido, não deveria ir para a tela, e sim para o comando more!

    Onde o comando more recebeu toda a informação do ls e na hora de mostrar, paginou!

    Agora, vamos ver como localizar um determinado arquivo dentro de um diretório! Vamos listar o diretório /etc.

    # ls /etc

    Quando executamos o comando acima, ele irá mostrar a listagem do diretório /etc de uma forma muito rápida. Então, podemos combinar o ls com o more para mostrar a lista de forma pausada:

    # ls /etc | more

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • Muito boa a sua explicação Ibsen!

  • Ibsen "Perito" fala fala fala e não informa nada, além disso costuma copiar texto sem citar a referência.

    https://ivanix.wordpress.com/2008/07/31/conhecendo-o-pipe-o-more-e-o-grep/

     

    Sua capacidade de armazenamento é infinita, apenas limitada pela memória da máquina. FALSO

    "O shell controla a execução de cada um para que não haja acúmulo de dados entre os comandos (a cada pipe é associado um buffer de tamanho limitado)."

    http://wiki.inf.ufpr.br/maziero/doku.php?id=unix:shell_avancado

     

    É visto pelo processo como um arquivo. Gabarito VERDADEIRA, porém eu marcaria como FALSA por causa da imprecisão da questão. Acredito que o + correto seria "É visto como um arquivo pelo processo após o sinal | (pipe)."

     

    Permite a comunicação entre exatamente dois processos. VERDADEIRA. Vide questão 30 (Q836759).

     

    Sua leitura e escrita são realizadas completamente em nível de usuário. ?

  • Complementando o comentário do Thiago Vieira: 

     

    "Sua leitura e escrita são realizadas completamente em nível de usuário. ?" FALSO. É a nível de interpretador de comandos.

     

    Nível de usuário é onde se encontram os programas e aplicações que interagem com o usuário via interface gráfica. O pipe roda no nível imediatamente abaixo, o nível do interpretador de comandos, também acessível ao usuário, mas sem interface gráfica. 

  • ( ) Permite a comunicação entre exatamente dois processos.

    Essa afirmação me trouxe uma dúvida. Considere o comando a seguir, extraido de[1]:

    $ ls | grep b | sort -r | tee arquivo.out | wc -l

    A saida do comando, ls, é passada para o segundo, sort -r; a saida desde é passado para o terceiro, tee. Finalmente, a saida de tee é passada para o comando wc -l.

    Se cada um desses comandos que pega a saida do anterior é um processo, como que afirmar que o pipe "permite a comunicação entre exatamente dois processos" esta' correta?

    Fonte:

    [1] https://www.vivaolinux.com.br/dica/Usando-o-pipe