Documente Academic
Documente Profesional
Documente Cultură
1
EXERCICE 1 (5 points : 2-3)
Pour se synchroniser avec un processus P1 (qui fait la même chose), un processus P0 exécute le
code suivant :
2- Cette solution n’assure pas l’exclusion mutuelle. Donner un scénario qui le prouve
(indication : le processus P1 s’exécute le premier avec tour=0).
2
Intention[0] Intention[1] Tour P0 P1
False False 0
False True 0 Intention[1]=true
While(tour !=1) //oui
False True 0 While(intention[0]) //non
True True 0 Intention[0]=true
True True 0 While(tour !=0) //non
SC
True True 1 Tour = 1
True True 0 While (tour !=1) //non
SC
Les deux processus entrent en SC en même temps. Cette solution n’assure donc pas l’exclusion
mutuelle. (3 pts)
On vous demande, d’écrire la fonction void train(char depart, char destination) en faisant
appel aux fonctions circuler,testerRail() et signalerRailLibre() pour garantir qu’un train unique
circule sur ce chemin de fer.
3
Comme cela n’est pas précisé dans l’énoncé, l’étudiant peut utiliser n’importe quelle méthode
de synchronisation vue en cours et assurant l’EM.
BON TRAVAIL.