Académique Documents
Professionnel Documents
Culture Documents
On suppose que toute personne se lave les mains avant de manger et après avoir mangé. Le restaurant dispose de nbl
lavabos (nbl inférieur à nbp).
Les nbp places et nbl lavabos constituent les ressources à partager entre les étudiants. Les processus représentent la
progression des étudiants à l’intérieur du restaurant. Le schéma général (protocole) d’un processus est alors :
- Entrer au restaurant
- <Manger>
- Sortir du restaurant
1. Définir les points de synchronisation
2. Définir les conditions de franchissement de ces points de synchronisation
3. Ecrire le programme d’un processusi en utilisant les sémaphores.
Exercice 02 : La piscine
Un utilisateur d’une piscine (nageur) doit tout d’abord trouver une cabine et un panier libres, ranger ses vêtements
dans le panier, libérer la cabine et enfin déposer le panier à la consigne. Lorsqu’il a fini de se baigner, il va rechercher
son panier et attend une cabine libre pour se changer. Il y a nbp paniers et nbc cabines (nbc << nbp).
On désire satisfaire le plus possible de processus bloqués dans le cas ou la file d’attente des processus bloqués est gérée
en FIFO et qu’il y a n processus dans le système.
1
3ème année LMD Informatique Systèmes d’exploitation II 22/23
Le consommateur ne peut pas retirer un message que le producteur est en train de le déposer.
Le producteur ne doit pas déposer un message dans le tampon lorsque celui-ci est plein : il doit attendre.
Le consommateur doit retirer les messages une fois et une seule.
Si le producteur (respectivement le consommateur) et en attente parce que le tampon est plein (respectivement
vide) il doit être réveillé dès que cette condition cesse d’être vraie.
1. Définir les points de synchronisation
2. Définir les conditions de franchissement de ces points de synchronisation
3. Ecrire le programme de chacun des processus (P et C) en utilisant les sémaphores.
4. Généraliser la solution précédente au cas de plusieurs producteurs et plusieurs consommateurs.
Exercice 05 : Producteurs-consommateur
Un enseignant communique avec ces N étudiants via un tampon de M cases. L’enseignant dépose des exercices
dans ce tampon (un exercice par case) et les étudiants les retirent. Chaque exercice déposé par l’enseignant doit être
retiré par tous les étudiants. En plus, chaque étudiant doit retirer les exercices dans l’ordre dans lequel ils ont été
déposés. Une case du tampon n’est libérée que lorsque tous les N étudiants ont retiré l’exercice qu’elle contient.
Chaque étudiant travaille selon son propre rythme.
Les processus de ces deux classes doivent respecter les contraintes suivantes :
Exercice 07 : Soutenance
Un jury de soutenance est composé d’un président, de trois membres et de l’encadreur. La soutenance ne peut
commencer que si le président, l’étudiant, l’encadreur et au moins deux des trois membres du jury sont présent.
En utilisant au plus six sémaphores, écrire les programmes du président, de l’encadreur, des trois membres de jury et de
l’étudiant.
Exercice 08 : Réunion
Un conseil de direction d’une entreprise est constitué d’un président(Pr) et de 4 autres membres (M1, M2, M3, M4).
En utilisant les sémaphores, écrire les programmes du président et des 4 autres membres du conseil de direction dans
les cas suivants :
1. La réunion du conseil de la direction ne peut commencer que si 2 membres quelconques, au moins, sont présents.
2. La réunion du conseil de la direction ne peut commencer que si le président et 2 autres membres, au moins, sont
présents.