systeme unix tubes + anneau
Bonjour,
j'ai un question le voila:
-soit N processus Pi communiquant à l'aide de tubes. il devront former un anneau.
-Combien de tubes sont nécessaires pour former un anneau unidirectionnel(l'information ne circule que dans un seul sens)?
aidez moi SVP si vous connaissez la reponse ou un doc qui peux m'aider.
Cordialement
systeme unix tubes + anneau
j'aimrais bien SVP que vous m'expliquez pour qoui N et dans le cas que l'anneau bidirectionnel (l'information circulera dans les deux sens).
Je vous remercie pour votre reponse.
cordialement
Programmation systeme en C sous unix
Bonjour,
Je voudrais que vous m'aide a ecrire le code C concernant le création de l'annea bidirectionnel (l'information circulera dans les deux sens)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main(void){
int nbp = 12; //nombre de processus en relation
int tube;
int i;
int fils;
int in;
int out
int x = 0;
for(i=0;i<nbp;i++){
pipe(&tube[2*i]);
}
for(i=1;i<nbp;i++){
fils = fork();
in = tube[(2*i-2)%(2*nbp)];
out = tube[(2*i+1)%(2*nbp)];
if(fils==0){
read(in,&x,sizeof(int));
x += 1;
write(out,&x,sizeof(int));
sleep(2);
exit(0);
}
}
in = tube[(2*nbp)-2];
out = tube[1];
write(out,&x,sizeof(int));
printf("je suis dans le pere\n");
read(in,&x,sizeof(int));
printf("x devient %i\n",x);
exit(0);
} |
systeme unix tubes + anneau
je te remercie nicolas.sitbon:king:
Cordialement
systeme unix tubes + anneau
Bonjour,
je voudrais que vous m'aidez a ecrire le code C permettant de faire circuler un jeton entre les différents processus de l'anneau.
Le jeton est un simple entier, il est initialisé à 0 avant le parcours et incrémenté par chaque processus fils.
C'est le père qui initie le parcours puis, après récupération du jeton, affiche la valeur de celui-ci(correspond alors au nombre de fils).
Je vous remercie :bug: