2009 - 2010
Systèmes d’exploitation 2
TD n 2 : Synchronisation des processus
Mme Lilia SFAXI
Systèmes d’exploitation 2
Systèmes d’exploitation 2
TD n 2 : Synchronisation des processus
Exercice 1 : Algorithmes d’Exclusion mutuelle
1. Rappeler brièvement les exigences d'un bon mécanisme de contrôle d'accès à
une section critique.
2. Rappeler l’algorithme de l’alternance stricte. Citer certains inconvénients de
cet algorithme.
3. On propose dans ce qui suit un algorithme pour une nouvelle version de
l’alternance stricte.
void entrer_SC(int MonNumero) { //MonNumero=0 pour P0, 1 pour P1
flag0 = true;
while(flag1 == true) ; /* attente active */
}
void liberer_SC(int MonNumero) {
flag0 = false;
}
Cet algorithme respecte-il les 4 conditions précédemment citées ? Sinon,
donner un exemple explicatif pour l’une des conditions violées.
4. Soit l’algorithme suivant :
//Pour le thread Pi :
while(true){
veut[i]=true ; // je veux entrer en SC
tour = j; // je donne une chance à l'autre
while (veut[i] && tour==j);
SC //Section critique
veut[i] = false;
SR //Section restante
}
1
TD2 : Introduction à la synchronisation des processus
Cet algorithme respecte-il les 4 conditions précédemment citées ? Sinon,
donner un exemple explicatif pour l’une des conditions violées.
Exercice 2 : Algorithme de Peterson
1. Rappeler le principe de l’algorithme de Peterson.
2. Prouver que cet algorithme respecte toutes les exigences d’un bon mécanisme
de contrôle d’accès.
2