Cours «système d’exploitation» échange de données entre Processus

Echange de données entre Processus : les Tubes et les Verrous

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).
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 référence dans le système de fichier (fichier anonyme);
☛ deux descripteurs de fichiers (lecture et écriture);
☛ sa taille limitée (nombre d’adresses directes  que contient un noeud du système de fichier) : d’où la notion de tube plein;
☛ deux extrémités, permettant chacune soit de lire dans le tube, soit d’y écrire;
☛ au plus deux entrées dans la table des fichiers ouverts (une pour la lecture et une pour l’écriture);
☛ l’opération de lecture dans un tube est destructrice : une information ne peut être lue qu’une seule fois dans un tube;
☛ communication d’un flot continu de caractères (STREAM) : les envois successifs d’informations dans un tube apparaissent du point de vue de leur extraction comme une seule et même émission, d’où la possibilité de réaliser les opérations de lecture dans un tube sans relation avec les opérations d’écriture ;

LIRE AUSSI :  Tutorial d'un déploiement sous Windows server

Cours système d’exploitation

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *