Controle Final1 Corrigé1
Controle Final1 Corrigé1
Controle Final1 Corrigé1
Exercice 1 :
On considère les processus suivants avec leurs dates d'arrivée et leurs temps d'exécution (en
millisecondes). Nous supposons que le temps de commutation est négligeable.
A B D C
0 3 9 11 15
A B C D A B C B
0 2 4 9 8 9 11 13 15
2) Calculer le temps moyen d’attente et le temps moyen de rotation pour chaque méthode.
Réponse :
1
3) D’une manière générale, quel est l’effet d’une augmentation du quantum sur l’algorithme
Round-Robin ?
Réponse :
Exercice 2 :
On considère deux processus concurrents selon le modèle du producteur/consommateur. L’un
produit des informations (des messages) qu’il dépose dans un tampon partagé de taille N, l’autre
les retire une à une pour les consommer. On propose le code suit :
Producteur Consommateur
Producteur( ) Consommateur( )
{in ip=1; { int ic=1;
Message m ; Message m ;
Tant que Vrai faire Tant que Vrai faire
{m = creermessage() ; {down(Mutex) ;
down(Mutex) ; m = tampon[ic];
tampon[ip]=m; up(Mutex) ;
up(Mutex) ; ic=ic+1mod N;
Ip=ip+1 mod N; consommerMessage(m);
} }
} }
1) Cette solution assure l’exclusion mutuelle, mais ne permet pas la synchronisation entre le
producteur et le consommateur. Dire pourquoi ?
Réponse :
2) Adapter cette solution pour que l'échange des messages soit synchronisé.
Réponse :
2
Producteur Consommateur
Producteur( ) Consommateur( )
{in ip=1; { int ic=1;
Message m ; Message m ;
Tant que Vrai faire Tant que Vrai faire
{m = creermessage() ; { down(plein) ;
down(vide) ; down(Mutex) ;
down(Mutex) ; m = tampon[ic];
tampon[ip]=m; up(Mutex) ;
up(Mutex) ; up(vide):
up(plein); ic=ic+1mod N;
Ip=ip+2 mod N; consommerMessage(m);
} }
} }
Réponse :
Producteur( )
{in ip=1;
Message m ;
Tant que Vrai faire
{m1 = creermessage() ;
m2 = creermessage() ;
down(vide) ; down(vide) ;
down(Mutex) ;
tampon[ip]=m1;
tampon[ip+1]=m2;
up(Mutex) ;
up(plein); up(plein);
Ip=ip+1 mod N;
}
}
3
Exercice 3 :
Soit un système d’exploitation qui utilise l’allocation contiguë par partitions variables. On
considère à l’instant T l’état suivant de la mémoire centrale (les zones vides sont libres) :
P1 P2 P3 P4
3 Ko 2 Ko 8Ko 1 Ko
10Ko 2Ko 6Ko
Soit la séquence suivante d’évènements selon cet ordre : l’arrivée du processus P5 (2 Ko), l’arrivée
de P6 (5 Ko), P4 est retiré et l’arrivée du processus P7 (1 Ko).
Exercice 4 :
Dans un système paginé, la table de pages d’un processus P est de taille 128 Ko. Le nombre
d’entrées de la table des pages est égal à 65536 (=216). Chaque entrée de la table de pages contient
une référence vers un cadre de page et un bit de présence/absence. Le déplacement (le décalage)
est codé sur 10 bits.