Tubo con nombre

En informática , el término tubería con nombre ( modelado a partir de la tubería con nombre en inglés ) es una implementación de las tuberías de Unix . Al igual que las canalizaciones anónimas , las canalizaciones con nombre son áreas de datos organizadas en FIFO pero, a diferencia de estas, que se destruyen cuando desaparece el proceso que las creó, las canalizaciones con nombre están vinculadas al sistema operativo y deben destruirse explícitamente. Este tipo de mecanismo se encuentra, por supuesto, en todos los sistemas operativos de tipo Unix, pero también en los sistemas operativos de Microsoft, sin embargo, su semántica es significativamente diferente.

Esta es una de las técnicas para la comunicación entre procesos . Una tubería también se puede llamar Conduite , especialmente en la página de manual de Unix .

En la práctica, esto se utiliza para redirigir la salida de un proceso a la entrada de otro.

Bajo Unix

Por ejemplo, podemos crear una tubería y comprimir los datos que le envía gzip :

mkfifo my_pipe gzip -9 -c < my_pipe > out.gz

En un shell, de forma independiente, podemos enviar datos para comprimir:

cat file > my_pipe

La tubería con nombre se puede eliminar como un solo archivo:

rm my_pipe


En lenguaje C , crearemos tal objeto con la llamada al sistema mknod () y la constante S_IFIFO, o simplemente con la otra llamada al sistema mkfifo ():

mknod("nom_du_tube", S_IFIFO, 0); mkfifo("nom_du_tube");

Bajo Windows

Microsoft France los llama "canalizaciones con nombre". Estos canales apuntan a una carpeta compartida en la red (PRINT $), un archivo local (precedido por el carácter "|") o un recurso de red de software (IPC $; SQL Server).

Modelado del modelo de información común

El estándar CIM Schema modela las canalizaciones nombradas con la clase CIM_FIFOPipeFile , un tipo especial de archivo destinado a comunicaciones independientes entre procesos, a diferencia de las canalizaciones anónimas destinadas, por ejemplo, a redireccionamientos.

Ver también

Referencias

  1. clase CIM_FIFOPipeFile extiende CIM_LogicalFile