0% ont trouvé ce document utile (0 vote)
27 vues2 pages

Examen Systèmes d'Exploitation 2013

Transféré par

yasser yasser
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
27 vues2 pages

Examen Systèmes d'Exploitation 2013

Transféré par

yasser yasser
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ECOLE MILITAIRE POLYTECHNIQUE

DEPARTEMENT INFORMATIQUE MATHEMATIQUES

Nature de l’examen : Devoir 1 Classe/Filière :INFORMATIQUE


Module : Systèmes d'Exploitation Responsable : …………..
Durée : 40 minutes Date : 23/05/2013
Documents : Non autorisé Année : 2012/2013

Exercice 1 (Producteur/Consommateur) 10pts):


On considère le problème du Producteur/Consommateur. Proposez une solution pour le cas suivants :

Le buffer est circulaire et de capacité limitée. Il existe un producteur et un consommateur. Mais on impose
que le consommateur ne doit pas consommer plus de x messages toutes les s secondes. On utilise un
processus « Horloge » qui se déclenche toutes les s secondes. La solution doit utiliser les sémaphores.

Initialization:
Sem M=1; //excl. mut.
Sem F=0; //esp. pleins
Sem E=k; //esp. vides
Sem Horloge = 0;
Int count=0;

Producteur: Consommateur: Horloge:


while(true){ while(true) while(true){
produce v; P(F); P(M);
P(E); P(M); If (count=x)
P(M); If (count = x) V(Horloge);
ajouter(v); V(M) Count = 0;
V(M); P(Horloge); V(M);
V(F); else }
} V(M);
End if

P(M);
retirer();
Count++;
V(M);
V(E);
consume(w);
}

1
Exercice 2 : Deadlock (10pts)
4 processus simultanés partagent des ressources de 3 types différents (R1, R2 ou R3) ; il existe 2
ressources de type R1, 5 de type R2 et 3 de type R3. Au cours de son exécution, chaque processus a
besoin d’un nombre maximal de ressources donné par la table MAX. A un instant donné, les ressources
détenues par les processus sont données par la matrice ALLOCATION :
MAX. ALLOCATION.
R1 R2 R3 R1 R2 R3
P1 2 2 1 1 2 1
P2 0 3 0 0 1 0
P3 1 2 3 0 0 1
P4 0 1 2 0 1 1

Dessinez le graphe d’allocation des ressources. Ce graphe montre un état sûr ou non sûr ? Justifier ?

R1

P1 P3
R2

R3
P2

P4

État non sûr : si p3 prend une ressource de R1 et une ressources de R2 on sera dans inter-blocage.
Aucun processus ne peut se terminer p1 attend p3 (r1) et p3 attend p1 (r2) ; p2 attend p1 et p3 (r2)
et p4 attend p1 et p3 (r3).

Vous aimerez peut-être aussi