Onyest dossier - Fichier d’un consommateur Ajouter à mes favoris
Sommaire
Systèmes parallèles
Cours
TDs
TPs
Gestion des processus
Contrôle de processus
Producteurs / consommateurs
Fichier d’un producteur
Fichier d’un consommateur
Probabilités appliquées aux systèmes
Théorie des langages et compilation
VHDL
Suite : Probabilités appliquées aux systèmes

Fichier d’un consommateur

///////////////////////////////////////
// Fichier d’un consommateur
//////////////////////////////////////
extern int *ouvrir_zone(char *, int);
extern int ouvrir_sema(char *, int);
#define NBCASES 10
char * mutex_C = "sema.c" ;
char * mutex_R = "sema.r" ;
char * mutex_W = "sema.w";
char * indtampon = "cle.cle" ;
char * indsortie = "out.out";
int mutexC, mutexR, mutexW ;
int taille = NBCASES * sizeof(int); // taille du buffer
int * tampon,* out ;
int i;
int main ()
{
printf("Bonjour, je suis un des concommateurs !!\n") ;
tampon = ouvrir_zone(indtampon, taille);
out = ouvrir_zone(indsortie, sizeof(int));
mutexW = ouvrir_sema(mutex_W, 0);
mutexR = ouvrir_sema(mutex_R, 0);
mutexC = ouvrir_sema(mutex_C, 0);
// corps de consommation
while (1)
{ p(mutexC);
p(mutexR);
i= tampon[*out] ;
*out = (*out+1) % (taille /sizeof(int));
v(mutexW);
v(mutexC);
printf(" cons %d\n", i) ;
}
return 0 ;
}
Suite : Probabilités appliquées aux systèmes
Onyest dossier - cours ingénieur informatique et électronique : SPAR, PAS, TLC, VHDL - http://www.onyest.free.fr/dossier/cours - webmaster : novis@chez.com

-