|Home|      <<Prev<<     

Fonctions de base d'Unix concernant les pipes/tuyaux


Tous les documents de cette page sont sous licence Creative Commons BY-NC-SA . Merci de la respecter.


©A. Dragut
Aix-Marseille Université
I.U.T.d'Aix en Provence - Département Informatique
Dernière mise à jour :1/11/2012




Rappel structure des répertoires

Sommaire du document

Liste des fonctions et concepts système étudiés

Dans cette série de neuf exercices on étudie pipe(), mkfifo(), ensuite semctl(), semop().

Liste des exercices

Bon courage !


exo_01 Pipe anonyme entre deux processus -- père et fils.

Dans cet exercice

vous écrivez un programme utilisant un pipe/tuyau pour relier deux processus -- père et fils.

Quoi de neuf

Le schéma de fonctionnement de la communication unidirectionnelle en utilisant des pipes/tuyaux est le suivant ; on suppose que le père écrit et le fils lit du pipe/tuyau :
Un protocole de communication pour écrire un message de taille variable:
Un protocole de fin de communication fait la difference entre une fin attendue et une par erreur.
Pour établir une communication bidirectionnelle, on utilise deux pipes/tuyaux distincts.

Travail à faire

exo_02 Pipe nommé FIFO entre deux processus non-apparenté

Dans cet exercice

vous reprenez le programme de l'exo 01 et transformez le pè et le fils en deux programmes (qui seront des processus non-apparenté) : un producteur et un consommateur.

Quoi de neuf

Les pipes nommés ou FIFO sont "comme" les autres pipes, sauf qu'ils sont visibles dans le système de fichiers -- ayant donc un nom. La fonction système mkfifo() (de wrapper Mkfifo()) permet d'en créer.

Travail à faire

OPTIONNEL exo_03 Communication entre plusiers processus

Dans cet exercice

vous devrez implementer un producteur et plusiers consommateurs.

Quoi de neuf

Rien de neuf. Il faut proposer votre propre protocole de communication et gérer la mort des fils.

Travail à faire

Un processus père lit des caractères sur l'entrée standard et filtre pour l'un des ses fils les lettres et pour l'autre les chiffres. Le premier fils calcule le nombre d'occurrences de chacune des lettres dans un tableau pendant que le second calcule la somme des chiffres. Lorsque le père finit la saisie sur l'entrée standard, il demande à ses fils de lui envoyer leurs résultats. Il va les afficher sur la sortie standard.

Solutions

Solution exo_01


exo_01.cxx
Makefile
CExc.h
INCLUDE_H
nsSysteme.h
nsSysteme.cxx

Solution exo_02


exo_02p.cxx
exo_02c.cxx
Makefile
CExc.h
INCLUDE_H
nsSysteme.h
nsSysteme.cxx

Solution exo_03


exo_03.cxx
Makefile
CExc.h
INCLUDE_H
nsSysteme.h
nsSysteme.cxx