Résumé
En génie logiciel, un tube ou une pipeline est un mécanisme de communication inter-processus sous la forme d'une série de données, octets ou bits, accessibles en FIFO. Le patron de conception qui correspond à ce mécanisme s'appelle le filtre. Les tubes des shell, inventés pour UNIX, permettent de lier la sortie d'un programme à l'entrée du suivant dans les shell et permet, tel quel, de créer des filtres. Ces tubes sont réalisés par l'intermédiaire de mécanisme sous-jacent appelé tubes anonymes. Ces tubes sont détruits lorsque le processus qui les a créés disparait, les tubes nommés sont en revanche liés au système d'exploitation et ils doivent être explicitement détruits. Ce type de mécanisme se retrouve bien sûr dans tous les systèmes d'exploitation de type Unix mais aussi dans les systèmes d'exploitation de Microsoft cependant leur sémantique est sensiblement différente. Les tubes sont considérés comme la plus ancienne implémentation non triviale de la programmation modulaire au niveau de l'architecture d'un projet informatique. Les tubes sont particulièrement efficaces dans les systèmes d'exploitation multitâches, puisque tous les processus chainés sont lancés simultanément. L'acquisition des données est immédiatement traitée par tous les processus successifs sans qu'il soit nécessaire d'accumuler une grande quantité de données. Cela permet aussi de facto de maximiser l'activité des unités de calcul. Habituellement un mécanisme de synchronisation inter-processus est mis en place, les opérations de lecture ou d'écriture sont bloquantes. Ceci signifie que d'une part l'exécution du processus d'acquisition des données est suspendu jusqu'à ce que toutes les données puissent être écrites dans le processus de destination qui le suit et d'autre part l'exécution du processus de destination est suspendue tant que toutes les données provenant de la source ne sont pas disponibles. Un interblocage peut alors se produire, chacun des processus pouvant attendre l'autre indéfiniment.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.