Echange de données entre processus : les tubes et les verrous
Cours Système d’Exploitation − IUT de Caen
François Bourdon
Chapitre 5
Echange de données entre Processus : les Tubes et les Verrous
Cours Système d’Exploitation − IUT de Caen
François Bourdon
Plan
1.Système de Gestion des Fichiers : Concepts avancés 2.Création et ordonnancement de Processus 3.Synchronisation de Processus 4.Communication entre Processus : les Signaux 5.Echange de données entre Processus. 5.1 Les tubes 5.2 Les verrous 6.Communication entre Processus : les IPC
Cours Système d’Exploitation − IUT de Caen
François Bourdon
5.1 Les tubes
La commande "ps −a | wc −l" entraîne la création de deux processus concurrents (allocation du processeur). Un tube est créé dans lequel les résultats du premier processus ("ps −a") sont écrits. Le second processus lit dans le tube. Lorsque le processus écrivain se termine et que le processus lecteur dans le tube a fini d’y lire (le tube est donc vide et sans lecteur), ce processus détecte une fin de fichier sur son entrée standard et se termine. Le système assure la synchronisation de l’ensemble dans le sens où : il bloque le processus lecteur du tube lorsque le tube est vide en attendant qu’il se remplisse (s’il y a encore des processus écrivains); il bloque (éventuellement) le processus
écrivain lorsque le tube est plein (si le lecteur est plus lent que l’écrivain et que le volume des résultats à écrire dans le tube est important).
Cours Système d’Exploitation − IUT de Caen
François Bourdon
Le système assure l’implémentation des tubes. Il est chargé de leur création et de leur destruction. Un tube de communication (|) permet de mémoriser des informations. Il se comporte comme une file FIFO, d’où son aspect unidirectionnel. Un tube est presque identique à un fichier ordinaire. Il est caractérisé par : son numéro d’i−noeud (sur le disque logique des tubes) ; aucune