Nom et Prénom Groupe
Département d’Informatique
Module: Systèmes d’exploitation II
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 ?
3i`eme année LMD 1/4 2018-2019
Nom et Prénom Groupe
Département d’Informatique
Module: Systèmes d’exploitation II
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).
3i`eme année LMD 2/4 2018-2019
Nom et Prénom Groupe
Département d’Informatique
Module: Systèmes d’exploitation II
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 est donné par les informations suivantes :
Alloc=
R1R2R3R4
P00012
P11000
P21354
P30632
P40014
Max=
R1R2R3R4
P0 0 0 1 2
P1 1 7 5 0
P2 2 3 5 6
P3 0 6 5 2
P4 0 6 5 6
Dispo=R1R2R3R4
1520
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 ?
3i`eme année LMD 3/4 2018-2019
Nom et Prénom Groupe
Département d’Informatique
Module: Systèmes d’exploitation II
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 . co un t <= 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é.
3i`eme année LMD 4/4 2018-2019
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !