0% ont trouvé ce document utile (0 vote)
323 vues2 pages

Synchronisation de Processus avec Sémaphores

Trois exercices proposent des problèmes de synchronisation entre processus à l'aide de sémaphores. Le premier synchronise trois processus exécutant des cycles de façon concurrente. Le deuxième synchronise trois processus communiquant via un tampon unique. Le troisième généralise un rendez-vous entre N processus.

Transféré par

Nour KALLAB-DEBBIH
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
323 vues2 pages

Synchronisation de Processus avec Sémaphores

Trois exercices proposent des problèmes de synchronisation entre processus à l'aide de sémaphores. Le premier synchronise trois processus exécutant des cycles de façon concurrente. Le deuxième synchronise trois processus communiquant via un tampon unique. Le troisième généralise un rendez-vous entre N processus.

Transféré par

Nour KALLAB-DEBBIH
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Constantine2- Abdelhamid Mehri

Faculté NTIC Département TLSI


Master 1 SITW Matière : SEA
2020/2021
TD n° 3
Exercice 1
Trois processus concurrents P1, P2 et P3 exécutent chacun le programme suivant :
Pi() // i = 1,2,3
{int n=0;
while(true)
printf("cycle %d de %d", n++, i);
}
Synchronisez les cycles des processus à l’aide de sémaphores de manière à ce que :
- Chaque cycle de P1 s’exécute en concurrence avec un cycle de P2
- Le processus P3 exécute un cycle, lorsque P1 et P2 terminent tous les deux l’exécution d’un
cycle.
- Lorsque P3 termine un cycle, les processus P1 et P2 entament chacun un nouveau cycle et
ainsi de suite…

Exercice 2
Deux processus A et B communiquent au moyen d’un tampon T pouvant contenir qu’un
seul message à la fois. Ce tampon est utilisé, de façon alternée, pour la communication dans les
deux sens (le tampon ne doit être utilisé que par un seul processus à la fois). Le processus A
dépose un message dans le tampon puis attend la réponse de B avant de déposer à nouveau un
autre message et ainsi de suite….
Lorsque B reçoit un message de A, il dépose sa réponse dans le tampon puis se met en
attente d’un autre message de A et ainsi de suite…
- synchronisez au moyen de sémaphores les processus A et B
Supposez maintenant qu’un troisième processus C veuille communiquer avec B en
utilisant l’unique tampon T. Les processus A et C se comportent de la même manière. B peut
donc recevoir un message de A ou C, la réponse doit être récupérée par le processus expéditeur
du message.
- Synchroniser au moyen de sémaphores les processus A, B et C.
Exercice 3
1. Deux processus (P1 et P2) souhaitent établir un rendez-vous avant l’exécution de la fonction
RDV1() pour l’un et RDV2() pour l’autre. En utilisant les sémaphores, écrire le pseudo-code de
P1 et P2 permettant d’établir ce rendez-vous.
2. Décrire le comportement des deux processus à partir d’un diagramme temporel.
3. Effectuer un rendez-vous entre 3 processus P1, P2 et P3.
4. On veut généraliser le rendez-vous précédent entre N processus avec un ensemble de
sémaphores initialisés à 0 : sema[i] désigne le sémaphore i. Ecrire le code du processus Pi
permettant d’établir ce rendez-vous.

Exercice 4
Dans le problème des producteurs/consommateurs, on veut permettre à un producteur
de produire et déposer plusieurs éléments à la fois (un consommateur n’en consomme qu’un à
la fois).

- Donner le pseudo-code des processus rédacteur et consommateur.

Exercice 5
Dans le problème des lecteurs/rédacteurs, on souhaite donner la priorité aux rédacteurs ;
un lecteur ne peut lire s’il y a un rédacteur en attente.

- Proposer une solution qui prend cela en considération.


- Y a-t-il un risque de famine ?

Vous aimerez peut-être aussi