Bonjour tout le monde,
je savais pas ou mettre ce post, j'hesitais entre "windows : systeme et logiciels" et celui-là...
bon voila mon probleme :
j'ai un algo a ecrire sur les sémaphores (c'est un exercice que j'ai a faire dans une matiere, et je cherche pas la solution complete)
en fait j'ai deux processus : un ecrivain, qui ecrit dans une case memoire et un autre lecteur qui lit la case memoire
je peux avoir qu'un preocess ecrivain alors pour les lecteurs, je peux en avoir plusieurs à un moment donné. Donc, le processus ecrivain est en exclusion mutuelle...
en fait, il faut combiner les semaphores, les processus (routines) producteur et consommateur (Wakeup et sleep) dans l'algo des processus ecrivain et lecteurs.
j'ai pensé à ca :
j'ai mis un sémaphore binaire pour le processus ecrivain et un semaphore "normal" pour le processus lecteur.
Ca c'est l'algo pour le processus Ecrivain. Mais pour le processus Lecteur, je crois qu'il suffit d'enlever l'exclusion mutuelle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 processus producteur début Répéter indéfiniment produire(Ecrivain) ; PB(vides) ; P(mutex) ; déposer(Ecrivain) ; V(mutex) ; VB(pleines) ; FinRépéter fin processus consommateur début Répéter indéfiniment PB(pleines) ; P(mutex) ; retirer(Ecrivain) ; V(mutex) ; VB(vides) ; consommer(Ecrivain) ; FinRépéter fin
Je crois meme que je me trompe sur toute la ligne. je crois qu'il faudrait combiner les deux processus producteurs ensemble et les deux consommateurs ensemble. Autrement dit, il faut mettre un processus producteur pour les processus Ecrivain et Lecteurs et un processus Consommateur pour les processus Ecrivain et Lecteurs
Merci beaucoup à celle ou celui qui veut bien m'aider![]()
Partager