Pipe

293 palavras 2 páginas
Pipe
Um pipe pode ser considerado um canal de comunicação que liga dois processos e permite um fluxo de informação unidireccional (half-duplex).
Um pipe é representado por um array de inteiros de duas posições (posição 0 - Leitura ; posição 1 - Escrita).
Quando se cria um pipe, o sistema retorna, para o processo que chamou o serviço de criação, dois descritores que representam o lado de escrita no pipe e o lado de leitura no pipe. Inicialmente esses descritores pertencem ambos a um processo. Quando esse processo lança posteriormente um filho este herdará esses descritores (herda todos os ficheiros abertos) ficando assim pronto o canal de comunicação entre os dois processos.
Observações:
O pipe funciona como uma estrutura FIFO (First In First Out).
Nas funções read, write e close, o pode indicar um canal de saída ou de entrada de um pipe.
Se o é um canal de entrada de um pipe, e for efetuada uma leitura (read), podem acontecer duas situações:
O pipe está vazio, originando o bloqueamento do processo até que seja possível efetuar o read.
O pipe não está vazio, sendo possível efetuar o read. Se forem lidos n bytes, então os primeiros n bytes do pipe são removidos ou seja há uma transferência)

Pipes com nome ou FIFOs
Os FIFOs são por vezes chamados pipes com nome e podem ser utilizados para estabelecer canais de comunicação entre processos não relacionados ao contrário dos pipes, que exigem sempre um ascendente comum entre os processos que ligam. Quando se cria um FIFO o seu nome aparece no diretório especificado no sistema de ficheiros

Relacionados

  • pipe
    1424 palavras | 6 páginas
  • pipe
    1327 palavras | 6 páginas
  • Pipe
    1011 palavras | 5 páginas
  • PIPE
    2859 palavras | 12 páginas
  • Pipe
    473 palavras | 2 páginas
  • pipe
    5369 palavras | 22 páginas
  • PIPE 1
    1192 palavras | 5 páginas
  • Pipe drafting
    3330 palavras | 14 páginas
  • MIPS - Pipe Line
    1211 palavras | 5 páginas
  • Banner PIPE IV 1
    432 palavras | 2 páginas