Next: Criação de um tubo
Up: Os tubos ou pipes
Previous: Introdução
- Uma vez que eles não têm nomes, os tubos de comunicação são
temporários, existindo apenas em tempo de execução do processo que os
criou;
- A criação dos tubos é feita através de uma primitiva especial:
pipe();
- Vários processos podem fazer leitura e escrita sobre um mesmo
tubo, mas nenhum mecanismo permite de diferenciar as informações na
saída do tubo;
- A capacidade é limitada (em geral a 4096 bytes). Se a escrita
sobre um tubo continua mesmo depois do tudo estar completamente
cheio, ocorre uma situaçào de bloqueio (dead-lock);
- Os processos comunicando-se através dos tubos devem ter uma
ligação de parentesco, e os tubos religando processos devem ter
sidos abertos antes da criação dos filhos (veja a passagem de
descritores de arquivos abertos durante a execução do
fork() na seção 2.2.1);
- É impossível fazer qualquer movimentação no interior de um tubo.
- Com a finalidade de estabelecer um diálogo entre dois processos
usando tubos, é necessário a abertura de um tubo em cada direção.
Next: Criação de um tubo
Up: Os tubos ou pipes
Previous: Introdução
Celso Alberto Saibel Santos
2000-11-14