Bonjour à tous, je bloque sur une question d'un exercice (pour ceux qui s'y connaissent en processus et sémaphore):
Soit n+1 processus P0, P1..Pn qui partagent un buffer B.
B peut contenir une valeur de type quelconque T.
Le processus P0 appelé diffuseur, produit et place dans le buffer une valeur V(de type T) qui doit être lue par tous les autres processus Pi, i =1,2,...,n appelés récepteurs.
Chaque valeur produite et déposée dans le buffer B doit être lue par tous les récepteurs avant la production et le dépôt de la valeur suivante par le processus diffuseur P0.
Une valeur déposée dans B ne peut être lue qu'une seule fois par un processus récepteur.
1) Expliquer en utilisant des sémaphores, les règles de synchronisation des processus pour réaliser la diffusion d'une valeur P0 vers les autres processus
Je vois pas trop comment expliquer en fait, j'ai écris ça: le processus P0 (non bloqué donc égale à 1 en sémaphore) envoie un message(ou valeur) au buffer B puis ce message va être envoyé à tous les autres processus, puis P0 se bloque (donc il prend la valeur 0 en sémaphore pour être bloqué) jusqu'à ce que tous les autres processus aient bien reçu le message (et il prend la valeur 1 pour se débloquer) et ainsi de suite (en boucle?) non? A moins que j'ai pas compris?
Partager