S´erie d’exercices #12
IFT-2245 18 mars 2017
12.1 Copy on Write
Qu’est-ce que lecopy-on-writeet dans quelles circonstances est-ce b´en´efique ? Quel soutient mat´eriel est n´ecessaire pour implanter cette fonction ?
En l’absence de soutient mat´eriel pour le copy-on-write, quelle peut ˆetre une solution de rechange ?
12.2 User level threads et page faults
Lorsqu’une page fault se produit, le processus qui tente d’acc´eder `a la page doit bloquer en attendant la dite page. Supposons qu’il existe un processus contenant 5 user-level threads et que le mapping utilis´e est many to one. Si un des threads entraˆıne une page fault en acc´edant la pile, est-ce que les autres user threads appartenant au processus devront attendre que la page fautive soit amen´ee en m´emoire ?
12.3 Remplacement de pages
Consid´erez la suite de r´ef´erences de page suivante :
7,2,3,1,2,5,3,4,6,7,7,1,0,5,4,6,2,3,0,1
En supposant de la pagination `a la demande avec 3 frames, combien de page faults y aura-t-il si on utilise les algorithmes de remplacement suivant :
1. Remplacement LRU (Least Recently Used) 2. Remplacement FIFO (First In, First Out) 3. Remplacement OPT (Optimal)
12.4 Thrashing
Qu’est-ce que lethrashing? Quelle est la cause du thrashing ? Comment est-il possible de le d´etecter ? Une fois d´etect´e, comment est-il possible pour le syst`eme de r´egler le probl`eme ?
1
12.5 Belady et LRU
Montrer formellement que l’algorithme de remplacement LRU n’est pas victime de l’anomalie de Belady.
12.6 TLB et page faults
Supposons qu’un programme r´ef´erence une adresse m´emoire virtuelle. D´ecrire les sc´enarios pour lesquels ces ´ev´enements peuvent se produire ? (expliquez si un sc´enario est impossible)
1. TLB miss et pas de page fault.
2. TLB miss et un page fault.
3. TLB hit et pas de page fault.
4. TLB hit et un page fault.
12.7 Parcours de tableau
Soit le programme suivant : int i, j ;
int data[128][128];
for (j = 0; j < 128; j++) for (i = 0; i < 128; i++)
data[i][j] = 0;
Supposer que le syst`eme utilise LRU, des pages de 128 mots et un nombre de frames inf´erieur `a 128. Expliquer en quoi cet exemple brise la transparence du syst`eme de pagination `a la demande.
Trouver un algorithme de remplacement simple qui donnerait de meilleurs r´esultats sur cet exemple.
2