Semaphores entre 2 processus
brice
-
walid -
walid -
bonjour et merci d'avance a qui voudra bien m'aider
j'ai un probleme que voici :
je ne trouve aucune aide sur internet pour savoir comment creer et utiliser des semaphores entre 2 processus qui accedent a un meme fichier texte.
si quelqu'un pouvait m'envoyer un code permettant cela , j'en serais tres heureux.
et je travaille sous linux.
j'ai un probleme que voici :
je ne trouve aucune aide sur internet pour savoir comment creer et utiliser des semaphores entre 2 processus qui accedent a un meme fichier texte.
si quelqu'un pouvait m'envoyer un code permettant cela , j'en serais tres heureux.
et je travaille sous linux.
A voir également:
- Semaphores entre 2 processus
- Supercopier 2 - Télécharger - Gestion de fichiers
- 2 ecran pc - Guide
- Faire 2 colonnes sur word - Guide
- Gta 6 trailer 2 - Guide
- Whatsapp 2 - Guide
5 réponses
Si tu veux, j'ai un tas de sources ADA pour lecteurs/1 redacteur avec les semaphores et moniteurs (priorité lecteurs / priorite redacteur / sans priorité)
thenice
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
je ne sais pas ce que veut dire ADA mais je veux bien voir tes sources stp.
En fait, ADA c'est un langage de programmation. On utilise des tâches et il faut ensuite les synchroniser avec des sémaphores, moniteurs ou des RDV.
Avec des semaphores, sans priorité
Ici, il y a 3 lecteurs et 2 rédacteurs mais on peut en mettre plus. Les lecteurs peuvent lire le fichier en même temps, pas de lecture et d'écriture simultanée et pas d'écriture simultanée.
Sans priorité c'est parce que lorsque un lecteur demande à écrire puis un rédacteur demande à écrire, le lecteur lira avant que le rédacteur écrive. Ils passent dans l'ordre de leur demande.
J'ai d'autres exemples avec priorité lecteur et priorité rédacteur. Par exemple, priorité lecteur permet de faire passer tous les lecteurs qui veulent lire le fichier avant que les redacteurs puissent écrire, etc ....
Dis-moi d'abord si c'est ce que tu cherches. Si oui, je te passerai le reste.
@+
Avec des semaphores, sans priorité
Nblect : Integer:=0; SR: Sem_Binaire; mutex: Sem_Binaire; sem: Sem_Binaire; -- tache type d'un lecteur task type Lecteur (P : integer); task body Lecteur is begin loop Mutex.P; Nblect:=Nblect+1; if Nblect=1 then SR.P; end if; mutex.V; --Mettre ton code pour lire un fichier ici mutex.P; Nblect:=Nblect-1; if Nblect=0 then SR.V; end if; mutex.V; end loop; end; -- tache type d'un redacteur task type Redacteur (P : integer); task body Redacteur is begin loop sem.P; SR.P; --mettre ton code pour ecire dans le fichier ici SR.V; sem.V; end loop; end; Lect1 : Lecteur (p => 1); Red1 : Redacteur (p => 1); Lect2 : Lecteur (p => 2); Lect3 : Lecteur (p => 3); Red2 : Redacteur (p => 2);
Ici, il y a 3 lecteurs et 2 rédacteurs mais on peut en mettre plus. Les lecteurs peuvent lire le fichier en même temps, pas de lecture et d'écriture simultanée et pas d'écriture simultanée.
Sans priorité c'est parce que lorsque un lecteur demande à écrire puis un rédacteur demande à écrire, le lecteur lira avant que le rédacteur écrive. Ils passent dans l'ordre de leur demande.
J'ai d'autres exemples avec priorité lecteur et priorité rédacteur. Par exemple, priorité lecteur permet de faire passer tous les lecteurs qui veulent lire le fichier avant que les redacteurs puissent écrire, etc ....
Dis-moi d'abord si c'est ce que tu cherches. Si oui, je te passerai le reste.
@+
Salut, moi aussi j'apprend pour l'instant les semaphores en C.
j'apprécie les indications que vous avez suggérez. si oui, j'aimerai bien avoir le reste des exemples sur les sémaphores.
Merci d'avance
j'apprécie les indications que vous avez suggérez. si oui, j'aimerai bien avoir le reste des exemples sur les sémaphores.
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question