Académique Documents
Professionnel Documents
Culture Documents
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 la variable
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) ;
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
UMBB 2022/2023 Licence (SI_S5 & ISIL_S6)
Département informatique. Systèmes d’Exploitation II
1. A quelle situation anormale peut conduire l’exécution de ces deux processus ?
2. Donner une solution à ce problème.
Debut
Parbegin ProgA ; ProgB ; ProgC ; Parend
Fin
a. Utilisez un sémaphore pour synchroniser les deux processus de telle manière que
l’exécution de la tâche T1 ne soit jamais simultanée avec l’exécution de la tâche T2.
b. Utilisez deux sémaphores pour synchroniser les deux processus de telle manière que
les tâches se déroulent toujours dans l’ordre : T1T2T1T2T1T2...
c. Utilisez deux sémaphores pour synchroniser les deux processus de telle manière que
les tâches se déroulent toujours dans l’ordre : T1T2T2T1T2T2T1T2T2...
Exercice 5
2
UMBB 2022/2023 Licence (SI_S5 & ISIL_S6)
Département informatique. Systèmes d’Exploitation II
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.
a. Quelle synchronisation a-t-on imposée sur les exécutions des tâches T1, T2, T3, T4,
T5
b. Donner le graphe de précédence.