gef 435 principes des systèmes dexploitation algorithmes de remplacement de pages pt i (tanenbaum...

21
GEF 435 Principes des systèmes d’exploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Upload: lea-lemercier

Post on 03-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

GEF 435Principes des systèmes d’exploitation

Algorithmes de remplacement de pages pt I(Tanenbaum 4.4)

Page 2: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Revue

• Quel problème est-ce que les tables de pages multiniveaux résoudrent?

• Dans un Répertoire de page actives (RPA – TLB), quel genre de mémoire doit on avoir pour accélérer les recherches?

• Pour un système avec une mémoire très, très grande, quelle est notre solution pour remplacer les tables de pages qui seraient effarantes?

Page 3: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• On se rappel: la pagination suit un ensemble de règles:Elle permet à un programme d’être chargé en mémoire

une page à la foisIl y a un genre de table qui identifie quelle page est

chargée dans quel cadreQuand une page est demandée et qu’elle n’est pas en

mémoire physique, un défaut de page se produit• Le SE doit maintenant charger la page dans la mémoire. Si il

n’y a pas de cadre de libre, une page doit être évincée de la mémoire. Quelle page est choisit pour être évincée?

Page 4: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• Il existe un ensemble d’algorithmes qui peuvent être utilisés pour choisir quelle page va être la meilleure candidate pour l’éviction

• Considérations:Les pages qui vont avoir été modifiées doivent être

écrites sur le disque avant l’évictionL’utilisation de l’information d’état tel que les bits

d’utilisations (used) et de modifications (dirty) vont être utiles pour prendre cette décision

Ces algorithmes sont applicables à d’autres domaines de recherche: caches, serveurs Web, etc...

Page 5: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• L’algorithme de remplacement de pages optimalUn algorithme théorique qui représente la décision

absolue, sans aucun doute, le meilleur choix pour évincer une page

Label chaque cadre de page avec le nombre d’instructions jusqu’à ce qu’on ait besoin de ce cadre

Évince la page avec le label le plus haut.• Essentiellement on évince la page qui serait la dernière à

être utilisée, basé sur les pages en mémoire à l’instant de la décision

Page 6: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• L’algorithme de remplacement de pages optimalEst-ce que nous pouvons implémenter cet algorithme?

• Absolument pas. Si nous pouvions déterminer quand chaque page est requise dans le futur basé sur l’état courrant, nous pourrions résoudre le problème de la halte (halting problem)!

• De plus, les entrées des utilisateurs veulent dire que le futur est imprédictible!

Cependant, si un programme est utilisé pour un ensemble particulier d’E/S, il est possible de tracer quelles pages sont requises et dans quel ordre

• Cet enregistrement peut être utilisé pour des tests de performance pour comparer comment près nos algorithmes réalisables sont de l’algorithme optimal

Page 7: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• L’algorithme de remplacement de pages Non Récemment Utilisée (NRU)Cet algorithme utilise les bits de modification et

d’utilisation pour déterminer la meilleure candidate pour l’éviction

Le matériel doit mettre à jour ces bits à chaque modification ou référence. Ces bits seront seulement effacées par le SE

• La bit d’utilisation sera remis à zéro périodiquement, par exemple chaque interruption de l’horloge. La bit de modification ne peut pas être remise à zéro jusqu’à ce que la page soit écrite sur le disque.

Page 8: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• L’algorithme de remplacement de pages Non Récemment Utilisée (NRU)Quand un défaut de page arrive, le SE inspecte touts

les cadres de pages et les divisent en quatre catégories :

• Class 0: pas utilisé, pas modifié• Class 1: pas utilisé, modifié• Class 2: utilisé, pas modifié• Class 3: utilisé et modifié

Une page est choisit aléatoirement dans la classe la plus basse et est évincée

Page 9: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• L’algorithme de remplacement de page Non Récemment Utilisée (NRU)L’idée implicite est qu’il est mieux d’évincer une page

modifiée qui n’a pas été utilisée dernièrement (~20 msec) qu’une page non modifiée qui est en grande utilisation

• Est-ce vraie?

Avantages: facile à comprendre et implémenterDésavantages: performance n’est clairement pas

optimal, mais adéquate pour plusieurs systèmes

Page 10: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• Premier arrivé, premier sortie PAPS (FIFO)Facile à implémenter. Garde une liste de toutes les

page en mémoire en ordre quelles sont arrivéesSur un défaut de page, la page la plus vielle est

enlevée et une nouvelle page est ajoutée à la fin de la liste

Avantage: Très facile à implémenterDésavantage: Aucune façon de déterminer si la

page qui est enlevée est en grande utilisation. L’âge peut être une indication mais n’est pas nécessairement la meilleure indication de l’utilisation d’une page

Page 11: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• Algorithme de deuxième chanceCet algorithme est une modification du PAPS pour le

rendre possiblement plus raisonnableAvant d’évincer la page la plus vielle, on vérifie la bit

d’utilisation• Si la page est en utilisation, même si elle est vielle, elle se voit

donner une deuxième chance et son entrée est déplacée vers la fin de la liste, ce qui a pour effet de la rendre comme une nouvelle page. Sa bit d’utilisation est remise à zéro à ce moment

La recherche continue de cette façon jusqu’à ce qu’une veille page qui n’a pas été utilisé est trouvé

Page 12: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• L’algorithme de la deuxième chance

Page 13: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• Algorithme de remplacement de pages de l’horlogeL’algo de la deuxième chance peut être lent parce

qu’il déplace constamment les pages dans la liste chaînée pour garder les pages dans le bon ordre.

Une meilleur approche est de garder les entrées de pages dans une liste circulaire (on peut penser à une sorte d’horloge). Une main pointe à la page la plus vielle.

Cette main n’est rien de plus qu’un pointeur à une entrée dans la liste de pages en mémoire

Page 14: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• L’algorithme de l’horlogeQuand un défaut de page arrive, la page qui est pointée

par la ‘main’ est inspectée. Si elle n’a pas été utilisée, elle est évincée et la main avance à la prochaine position

Si la page est en utilisation, la bit d’utilisation est remise à zéro et la main est remise à la prochaine position pour faire une autre vérification

Ceci continue jusqu’à ce qu’une page soit trouvée pour être évincée

Page 15: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• The Clock Page Replacement Algorithm

Page 16: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• L’algo de remplacement de la page la moins récemment utilisée (MRU) (LRU)Une bonne approximation de l’algo optimal est qu’une

page qui a été grandement utilisée les dernières instructions va probablement être grandement utilisée dans les quelques prochaines instructions (et le contraire est vrai)

Donc, quand un défaut de page ce produit, on évince la page qui n’a pas été utilisé pour le plus long temps

• Comment est-ce que cela diffère de PAPS?

Page 17: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• L’algo de remplacement de la page MRUMéthode 1: Implémenté dans sa forme pure.

Chaque entrée doit être gardée dans une liste chaînée. Chaque fois qu’une page est utilisée elle est déplacée au devant de la liste

• Une opération très coûteuse même avec du matériel!

Page 18: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• L’algo de remplacement de la page la MRUMéthode 2: Avoir un compteur assez grand (64

bits) qui est incrémenté après chaque instruction. Stock ce numéro dans la table de pages après chaque référence en mémoire. Quand on veut remplacer une page, on évince la page dans la table avec le plus petit compte.

Page 19: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• L’algo de remplacement de la page MRUMéthode 3: Pour un système avec n cadres de

page, on maintient une matrice matériel de grandeur n x n bits, initialement chaque entrée est mise à 0. Un truc de pour amuser vos amis!:

• Quand une page, k, est référencée le matériel met tout les bits de la rangé k à 1 et met tout les bits de la colonne k à 0

• La rangé avec la plus petite valeur binaire est la page la moins récemment utilisée et la page est la candidate pour éviction… essayez le!

Page 20: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Algorithmes de replacement de pages

• L’algo de remplacement de la page la moins récemment utiliséAccédé en ordre: 0,1,2,3,2,1,0,3,2,3

Page 21: GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)

Quiz Time!

Questions?