Accueil🇫🇷Chercher

Tube anonyme

En génie logiciel, un tube anonyme ou canal de communication[1] est un des mécanismes de gestion de flux de données appelé tube. Ce mécanisme inventé pour UNIX est principalement utilisé dans la communication inter-processus. Ouvrir un tube anonyme permet de créer un flux de donnée unidirectionnel FIFO entre un processus et un autre. Ces tubes sont détruits lorsque le processus qui les a créés disparait, contrairement aux tubes nommés qui sont liés au système d'exploitation et qui doivent être explicitement détruits. Pour établir une communication Full-duplex, c'est-à-dire bi-directionnelle, chaque processus doit réciproquement créer un tube anonyme.

Ce mécanisme permet la création de filtres.

Unix

Ce mécanisme a été mis en place pour la plupart des systèmes d'exploitation de type Unix. Un tube anonyme est créé grâce à un appel système qui retourne un descripteur de fichier à la suite de la création d'un Fork qui permet d'assigner à chacun des processus son rôle de récepteur ou d'émetteur.

En langage C, On créé un pipe avec l'appel système Unix de même nom, qui créé deux descripteurs de fichiers permettant d'assurer une communication bidirectionnelle, par exemple lors de la création d'un sous-process:

int fd[2];
pipe(fd);

Microsoft Windows

L'API de Windows permet également de créer des tubes anonymes.

Voir aussi

  • Tube nommĂ©, qui fonctionnent de la mĂŞme façon, mais dispose d'un nom qui permet la communication entre deux processes appartenant Ă  des arborescences diffĂ©rentes et ne partageant pas de descripteur de fichier. Bien que ces deux types de tubes partagent la mĂŞme implĂ©mentation (Un nom temporaire Ă©tant utilisĂ© pour les tubes anonymes), seuls les tubes nommĂ©s sont explicitement modĂ©lisĂ© dans CIM Schema, et par la classe CIM_FIFOPipeFile[2].
  • Tube (shell), qui sont implĂ©mentĂ©s au moyen d'un tube anonyme.

Références

  1. Termium, Bureau de la traduction du gouvernement du Canada
  2. Class CIM_FIFOPipeFile extends CIM_LogicalFile
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.