Telechargé par rahil.rahilmi

examen2019

publicité
Département d’Informatique
Module: Systèmes d’exploitation II
Nom et Prénom
Groupe
Examen Final
Durée=1h30
Exercice 1: (6pts)
1. Si le programme P(s) ; P(t) ;. . . ; V (s) ; . . . ; P(t) ;. . . ; V (t) ; V (t) ;. . . ; P(s) ; . . . ; V (s) ; est exécutée en
plusieurs exemplaires, existe-t-il un risque d’interblocage (les compteurs sont initialisés à deux)
2. Donnez la matrice max pour ces trois processus
– P1 : allouer R1 et R2,. . . , libérer R1,. . . allouer R3, R2 et R1,. . . , libérer toutes les ressources
– P2 : allouer R3 et R1,. . . libérer R3,. . . allouer R2 et R1, libérer toutes les ressources
– P2 : allouer R2 et R3, . . . , allouer R2,. . . , allouer R3,. . . , libérer toutes les ressources
3. Un programme contenant une condition de concurrence (race condition) entraînera -t-il toujours l’incohérence des données ou tout autre comportement incorrect ?
4. Un système qui remplit les quatre conditions de l’interblocage entraînera-t-il toujours un interblocage ?
5. Quelle approche de gestion de l’interblocage est utilisée par l’algorithme de Banquiers ?
6. La désactivation des interruptions assure-t-elle toujours la propriété de l’exclusion mutuelle ?
3
ième
année LMD
1/4
2018-2019
Département d’Informatique
Module: Systèmes d’exploitation II
Nom et Prénom
Groupe
Exercice 2: (6pts)
Un groupe d’étudiants étudient pour l’examen de SEII. Les étudiants peuvent étudier uniquement en
mangeant de pizza. Chaque étudiant exécute la boucle suivante :
while (true) prendre un tranche de pizza ; étudier en mangeant la pizza ;
Si un étudiant constate qu’il n’y a plus de pizza, il s’endort jusqu’à ce que plus de pizza arrive. Le premier
étudiant à découvrir que le groupe est épuisé commande une autre pizza avant d’aller se coucher.
En utilisant les sémaphores, écrivez le code pour synchroniser les processus étudiant et le processus pizzeria.
Votre solution doit éviter les impasses et téléphoner à la pizzeria exactement une fois à la fin d’une pizza (Chaque
pizza a S tranches et chaque tranche ne peut être consommé par qu’un seul étudiant).
3
ième
année LMD
2/4
2018-2019
Département d’Informatique
Module: Systèmes d’exploitation II
Nom et Prénom
Groupe
Exercice 3: (4pts)
Considérons un système d’allocation de ressources portant sur 5 processus et 4 classes de ressources. L’état
du système
suivantes :

 est donné par les informations

R1 R2 R3 R4
R1 R2 R3 R4
P 0 0
P 0 0
0
1
2
0
1
2




P 1 1
P 1 1

R1 R2 R3 R4
7
5
0
0
0
0




Dispo=
Max=
Alloc=
1
5
2
0
3
5
6
3
5
4
P 2 2

P 2 1

P 3 0
P 3 0
6
5
2
6
3
2
P4 0
6
5
6
P4 0
0
1
4
Dans ce cadre, répondez aux questions suivantes en utilisant l’algorithme des banquiers :
1. Combien faut-il ajouter de ressources (pour chaque Ri) de manière à ce que les processus puissent s’exécuter sans contrainte.
2. Le système est-il dans un état sain ? justifiez votre réponse.
3. Si le processus P1 dépose la requête (0, 4, 2, 0), cette requête est-elle acceptée immédiatement ? (justifiez
votre réponse).
4. A partir de la situation initiale, si le processus P4 dépose la requête (1, 4, 2, 0), quel est le résultat ?
3
ième
année LMD
3/4
2018-2019
Département d’Informatique
Module: Systèmes d’exploitation II
Nom et Prénom
Groupe
Exercice 4: (4pts)
Dans le cours, nous avons dit que, si les opérations de sémaphore P et V ne sont pas exécutées de manière
atomique, l’exclusion mutuelle peut être violée. Supposons que P et V sont implémentés comme ci-dessous :
void P ( Semaphore S ) {
while ( S . count <= 0 ) {}
S . count = S . count − 1 ;
}
void V ( Semaphore S ) {
S . count = S . count + 1 ;
}
Décrire un scénario où deux processus P1 et P2, peuvent tous les deux entrer en section critique protégée
par un seul sémaphore mutex en raison d’un manque d’atomicité.
3
ième
année LMD
4/4
2018-2019
Téléchargement