• Aucun résultat trouvé

S´erie d’exercices #12 IFT-2245 18 mars 2017

N/A
N/A
Protected

Academic year: 2022

Partager "S´erie d’exercices #12 IFT-2245 18 mars 2017"

Copied!
2
0
0

Texte intégral

(1)

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

(2)

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

Références

Documents relatifs

Expliquer pourquoi les spinlock sont inappropri´ es dans un syst` eme mono- processeur, mais sont souvent utilis´ es dans les syst` emes multiprocesseurs. 4.7 Section critique `

Illustrer comment un s´ emaphore binaire peut ˆ etre utilis´ e pour impl´ ementer l’exclusion mutuelle entre N threads.. 5.3 Spinlocks

Corriger ces mˆ emes conditions de course sans utiliser de verrous, en uti- lisant ` a la place une approche de synchronisation optimiste, en utilisant l’op´ eration

Jouez le rˆ ole du syst` eme d’exploitation qui doit faire fonctionner les processus suivants sur une machine avec 16MB de m´ emoire et donc d´ ecider o` u placer ces segments dans

Dans beaucoup de syst` emes, les programmes sont structur´ es de la mani` ere suivante : le code commence ` a l’adresse 0, ensuite vient le bloc de donn´ ees utilis´ e pour

Soit un processeur avec des adresses logiques et physiques de 64bit, des pages de 16KBytes, et une pagination bas´ ee sur un table de pages hi´ erarchique.. Deviner combien de

Pour savoir quelles frames devraient ˆ etre ´ evinc´ ees pour faire place ` a de nou- velles pages, le syst` eme d’exploitation aimerait bien savoir quelles pages sont beaucoup

Pourtant lorsqu’un syst` eme multiprocessus souffre de thrashing, un syst` eme bas´ e sur le mod` ele du working-set ou sur celui de la fr´ equence de page faults peut obtenir