Les sémaphores
Fermé
lila92
-
sambia39 Messages postés 610 Date d'inscription Statut Membre Dernière intervention -
sambia39 Messages postés 610 Date d'inscription Statut Membre Dernière intervention -
salut tout le monde mon j'ai un tp à faire ( les sémaphores ) j'ai pensé à une solution mais je veux savoir si elle est vrai ou non bon : soit un nombre de processus n, si ce nombre <n (ex n=4) alors il reste bloqué il affichent je suis bloqué , si le proc n=n arrive tous le proc seront actif il affichent " je suis actif". alors moi j'ai pensé de faire un compteur initialisé à0 et sémaphore pr ce compteur un un sémaphores mutex , quand on crée un proc avec (fork) on reveille le proc compteur et on bloque les autres proc avec mutex et on incrémente le compteur cpt=cpt+1; apré on fait un test si cpt <n alors il affichent (" je suis bloqué") , que pensez vous est ce que cette idée est juste ou non ???! si vous pouvez aidez moi svp .mercii :)
4 réponses
Bonsoir
Je n'ai pas bien compris mais, quand tu parles de processus, partage-t-il tous une même ressource ? (bref).
Tu peux tout simplement utiliser les semaphores pour le faire.
les mutex peuvent être utilisés par exemple pour empêcher tout en même temps d'une ressource (ta variable d'incrémentation par exemple) mais en clair, un sémaphore suffit enfin si j'ai bien compris.
à bientôt
Je n'ai pas bien compris mais, quand tu parles de processus, partage-t-il tous une même ressource ? (bref).
Tu peux tout simplement utiliser les semaphores pour le faire.
les mutex peuvent être utilisés par exemple pour empêcher tout en même temps d'une ressource (ta variable d'incrémentation par exemple) mais en clair, un sémaphore suffit enfin si j'ai bien compris.
à bientôt
salut , ouii voila l'exercice ((soit un nombre de processus n, si ce nombre <n (ex n=4) alors il reste bloqué il affichent je suis bloqué , si le proc n=n arrive tous le proc seront actif il affichent " je suis actif" )) , ouii les processus se bloque pour la meme ressource et chaque création on incrémente le compteur et on fait le teste si le nombre de processus crée est <4 alors il affiche je suis bloqué si le nombre >=4 touts le processus affichent je suis actif . merci pour ta réponse