Vous êtes sur la page 1sur 2

UMBB 2022/2023 Licence (SI_S5)

Département informatique. Systèmes d’Exploitation II

Série N°2 : synchronisation par Sémaphores

Question 1 :
Répondez par VRAI ou FAUX
a) Tant qu’un processus est bloqué dans la file d'attente d'un sémaphore, il est engagé dans
l'attente active.
b) L'exclusion mutuelle peut être réalisée avec un sémaphore compteur dont la valeur initiale
est supérieure à 1.
Question 2 :
Donnez les principaux inconvénients des sémaphores?
Question 3 :
Expliquez chacun des termes suivants en précisant la différence principale entre les deux
termes. - “sémaphore binaire” et “ sémaphore compteur”

Exercice 1
On considère les trois processus suivants (La sémaphore mutex est initialisé à 1, et lavariable
x à 3) :
Programme P1 Programme P2 Programme P3
(a)P(Mutex) ; (d)P(Mutex) ; (g)P(Mutex) ;
(b) x := x + 1 ; (e) x := x * 2 ; (h) x := x - 4 ;
(c) V(Mutex) ; (f) V(Mutex) ; (i) V(Mutex) ;

1. On considère le scénario d’exécution suivant : a d b g c e f h i :


– Est-il possible ?
– Si oui quelle est la valeur finale de x (initialisé à 3) ?
2. Même questions avec le scénario a d e b c f g h i
3. Donner les valeurs finales possibles pour x.
4. Modifier ces processus pour que x contienne à coup sûr la valeur 3 à la fin de l’exécution.
Vous commencerez parétablir le graphe de précédence correspondant aux exécutions
souhaitables.

Exercice2
Soit P0 et P1 deux processus parallèles se partageant deux ressources R1 et R2. Les
algorithmes de ces deux processus sont écrits comme suit :
vars1,s2 : semaphore init à 1,1 ;
Processus P0 Processus P1
Début Début
Répéter Répéter
(1) P(s1) ; (1’) P(s2) ;
(2) <utiliser R1> ; (2’) <utiliser R2> ;
(3) P(s2) ; (3’) P(s1) ;
<utiliser R1 et R2> ; <utiliser R1 et R2> ;
V(s1) ; V(s2) ;
V(s2) ; V(s1) ;
Jusqu’à faux Jusqu’à faux
Fin. Fin.
1. A quelle situation anormale peut conduire l’exécution de ces deux processus ?

1
UMBB 2022/2023 Licence (SI_S5)
Département informatique. Systèmes d’Exploitation II
2. Donner une solution à ce problème.

Exercice 3

Soient les deux processus P1 et P2 suivants. Ils partagent deux sémaphores, S1 et S2


initialisés à 0.

1. Quelle synchronisation a-t-on imposée sur les exécutions des procédures A1, A2, B1,
B2 ?
2. Ecrire le code afin d’imposer la même synchronisation pour 3 processus P1, P2, et P3
en utilisant 3 sémaphores.
3. Ecrire le code afin d’imposer la même synchronisation pour N processus P1, P2,…, Pn
en utilisant N sémaphores.

Vous aimerez peut-être aussi