Académique Documents
Professionnel Documents
Culture Documents
TD concurrence
(bus-coiffeur)
Table des matières
1
L’embarquement dans un autobus ............................................................................... 2
1.1
Première
solution................................................................................................................................................2
1.1.1
Scenario pour un usager .............................................................................................................................. 2
1.1.2
Scenario pour le bus...................................................................................................................................... 3
1.2
Deuxième
solution ..............................................................................................................................................3
1.2.1
Scenario pour un usager .............................................................................................................................. 3
1.2.2
Scenario pour le bus....................................................................................................................................... 3
1.2.3
Rendezvous....................................................................................................................................................... 4
2
Le coiffeur .................................................................................................................... 5
2.1.1
Scenario pour le coiffeur............................................................................................................................. 5
2.1.2
Scenario pour un client................................................................................................................................ 5
2.1.3
Modélisation avec sémaphores ................................................................................................................. 5
1 TD Concurrence
TD concurrence
Embarquer
Nb_Usagers = Nb_Usagers -1 ;
if (Nb_Usagers == 0) V(SDernier) /* le dernier embarqué fait démarrer
le bus */
else V(SEmbarquer) /* chaque usager en fait monter
un autre */
2 TD Concurrence
TD concurrence
Partir
3 TD Concurrence
TD concurrence
Départ
1.2.3 Rendez-vous
Remarque :
Un schéma dans lequel on assure que deux processus tels que :
Processus A Processus B
... ...
I1; J1;
I2; J2;
... ...
Processus A Processus B
... ...
I1; J1;
Pt de rdv Pt de rdv
I2; J2;
... ...
Processus A Processus B
I1; J1;
P(SB); V(SB);
V(SA); P(SA);
I2; J2;
Ou encore :
Processus A Processus B
I1; J1;
V(SA); V(SB);
P(SB); P(SA);
I2; J2;
4 TD Concurrence
TD concurrence
Processus A Processus B
I1; J1;
P(SB); P(SA);
V(SA); V(SB);
I2; J2;
2 Le coiffeur
Le processus coiffeur :
- sert le premier client de la file, s'il y en a un (sinon il se bloque),
- décrémente Attend (accès exclusif) ,
- libère le siège du client (l'invite à s'asseoir)
- Coiffe
5 TD Concurrence
TD concurrence
6 TD Concurrence