É um tipo de pseudoarquivo que pode ser usado para efetuar c...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - pipe.
A questão aborda o conceito de comunicação interprocessos (IPC - Inter-Process Communication), que é um mecanismo fundamental em sistemas operacionais para permitir que processos troquem dados entre si. Um pipe é um dos métodos de IPC disponibilizados pelo sistema operacional para realizar essa troca de dados de forma unidirecional. Ou seja, é como um canal que conecta a saída de um processo diretamente à entrada de outro, permitindo que os dados fluam entre eles.
O processo de utilização de um pipe envolve a criação de dois endpoints: um para leitura e outro para escrita. Quando um processo escreve dados no endpoint de escrita, esses dados podem ser lidos pelo outro processo no endpoint de leitura, seguindo a analogia de um "pseudoarquivo" mencionada na questão. Isso é realizado de forma que os processos não precisam estar cientes de qualquer detalhe subjacente sobre a comunicação, eles simplesmente leem e escrevem dados como se estivessem lidando com arquivos comuns, apesar de estarem, na verdade, comunicando-se através de um pipe.
Essa abstração facilita a programação e o sincronismo entre os processos, pois eles podem utilizar as mesmas chamadas de sistema que seriam utilizadas para ler e escrever em arquivos para comunicar-se entre si. O conceito de pipe é muito utilizado em sistemas operacionais *nix (Unix, Linux, etc.), onde é comum encadear o output de um programa diretamente no input do próximo, criando uma pipeline de processamento de dados.
As outras alternativas não se encaixam no conceito apresentado na questão:
- Channel: Embora o termo "channel" possa ser usado em alguns contextos para se referir a mecanismos de comunicação, ele não é um termo técnico padrão para um tipo específico de IPC como o pipe.
- Queue: Uma fila (queue) pode ser usada para IPC, mas ela geralmente se refere a uma estrutura de dados onde os elementos são mantidos em ordem e processados um por um, o que não coincide com a descrição do "pseudoarquivo" da questão.
- Thread: Uma thread é uma linha de execução dentro de um processo, e não um meio de comunicação entre processos.
- Stdout: Refere-se à saída padrão de um processo, utilizada para exibir dados no terminal ou em outro dispositivo de saída, não é um mecanismo de IPC.
Portanto, a alternativa B - pipe é a correta, pois representa um mecanismo que permite a comunicação entre dois processos de maneira que um processo pode passar dados para o outro da mesma maneira que se escreve e lê de um arquivo comum, em consonância com a descrição apresentada no enunciado da questão.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Um pipe é uma espécie de pseudo-arquivo que pode ser usado para conectar dois processos.
A ===== B
Se os processos A e B quiserem se comunicar usando um pipe, eles devem configurá-lo antecipadamente. Quando o processso A quer enviar dados para B, ele escreve no pipe como se fosse um arquivo de saída e o processo B lê os dados do pipe como se fosse um arquivo de entrada.
Fonte: Sistemas Operacionais, Tanenbaum.
Letra B
Questão retidada da fonte abaixo:
https://books.google.com.br/books?id=Z5sCbDRUBaQC&pg=PA42&lpg=PA42&dq=um+tipo+de+pseudoarquivo+que+pode+ser+usado+para+efetuar+comunica%C3%A7%C3%A3o+entre+dois+processos.&source=bl&ots=e-Z1WkXCIU&sig=Grg72M6LQx7Zw-bXIYv_eXVYjHM&hl=pt-BR&sa=X&ved=0ahUKEwi_jqDJ-L7XAhXBWpAKHcYYAgcQ6AEIMzAC#v=onepage&q=um%20tipo%20de%20pseudoarquivo%20que%20pode%20ser%20usado%20para%20efetuar%20comunica%C3%A7%C3%A3o%20entre%20dois%20processos.&f=false
Sistemas Operacionais: Projetos e Implementação
Por Andrew S. Tanenbaum,Albert S. Woodhull
Pág. 42
b-
2 processos podem se comunicar em caso de escalonamento nao-preemptivo, como o cooperativo, quando o processo termina por seus proprios meios, sem intervencao do windows. Outro caso de comunicacao entrw processos é first in first out quando houver 2 processos concorrendo por recursos do CPU.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo