Os sistemas operacionais UNIX suportam dois tipos principais de tubos:
1.
tubos anônimos (ou tubos sem nome): Estes são unidirecionais, o que significa que os dados fluem apenas em uma direção de um processo pai para um processo filho (ou vice-versa). Eles são criados usando a chamada do sistema `Pipe ()`. Eles existem apenas pela duração dos processos que os usam; Eles não são acessíveis por outros processos.
2.
nomeado tubos (ou fifos): Eles também são unidirecionais, mas são criados no sistema de arquivos usando a chamada do sistema `mkfifo ()` e recebem um nome. Isso permite que processos não relacionados se comuniquem de forma assíncrona, mesmo que não estejam relacionados através da paternidade. Um processo pode abrir um tubo nomeado para leitura ou escrita, independentemente de outros processos usando o mesmo tubo nomeado. Eles persistem até remover explicitamente.