La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)"— Transcription de la présentation:

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

2 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?

3 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 fois Il y a un genre de table qui identifie quelle page est chargée dans quel cadre Quand une page est demandée et quelle nest 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 ny a pas de cadre de libre, une page doit être évincée de la mémoire. Quelle page est choisit pour être évincée?

4 Algorithmes de replacement de pages Il existe un ensemble dalgorithmes 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éviction Lutilisation de linformation détat tel que les bits dutilisations ( used ) et de modifications ( dirty ) vont être utiles pour prendre cette décision Ces algorithmes sont applicables à dautres domaines de recherche: caches, serveurs Web, etc...

5 Algorithmes de replacement de pages Lalgorithme de remplacement de pages optimal Un 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 dinstructions jusquà ce quon 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 à linstant de la décision

6 Algorithmes de replacement de pages Lalgorithme de remplacement de pages optimal Est-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 dE/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 lalgorithme optimal

7 Algorithmes de replacement de pages Lalgorithme de remplacement de pages Non Récemment Utilisée (NRU) Cet algorithme utilise les bits de modification et dutilisation 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 dutilisation sera remis à zéro périodiquement, par exemple chaque interruption de lhorloge. La bit de modification ne peut pas être remise à zéro jusquà ce que la page soit écrite sur le disque.

8 Algorithmes de replacement de pages Lalgorithme 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

9 Algorithmes de replacement de pages Lalgorithme de remplacement de page Non Récemment Utilisée (NRU) Lidée implicite est quil est mieux dévincer une page modifiée qui na pas été utilisée dernièrement (~20 msec) quune page non modifiée qui est en grande utilisation Est-ce vraie? Avantages: facile à comprendre et implémenter Désavantages: performance nest clairement pas optimal, mais adéquate pour plusieurs systèmes

10 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ées Sur 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émenter Dé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 nest pas nécessairement la meilleure indication de lutilisation dune page

11 Algorithmes de replacement de pages Algorithme de deuxième chance Cet algorithme est une modification du PAPS pour le rendre possiblement plus raisonnable Avant dévincer la page la plus vielle, on vérifie la bit dutilisation 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 dutilisation est remise à zéro à ce moment La recherche continue de cette façon jusquà ce quune veille page qui na pas été utilisé est trouvé

12 Algorithmes de replacement de pages Lalgorithme de la deuxième chance

13 Algorithmes de replacement de pages Algorithme de remplacement de pages de lhorloge Lalgo de la deuxième chance peut être lent parce quil 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 dhorloge). Une main pointe à la page la plus vielle. Cette main nest rien de plus quun pointeur à une entrée dans la liste de pages en mémoire

14 Algorithmes de replacement de pages Lalgorithme de lhorloge Quand un défaut de page arrive, la page qui est pointée par la main est inspectée. Si elle na pas été utilisée, elle est évincée et la main avance à la prochaine position Si la page est en utilisation, la bit dutilisation est remise à zéro et la main est remise à la prochaine position pour faire une autre vérification Ceci continue jusquà ce quune page soit trouvée pour être évincée

15 Algorithmes de replacement de pages The Clock Page Replacement Algorithm

16 Algorithmes de replacement de pages Lalgo de remplacement de la page la moins récemment utilisée (MRU) ( LRU ) Une bonne approximation de lalgo optimal est quune 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 na pas été utilisé pour le plus long temps Comment est-ce que cela diffère de PAPS?

17 Algorithmes de replacement de pages Lalgo de remplacement de la page MRU Méthode 1: Implémenté dans sa forme pure. Chaque entrée doit être gardée dans une liste chaînée. Chaque fois quune 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!

18 Algorithmes de replacement de pages Lalgo de remplacement de la page la MRU Mé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.

19 Algorithmes de replacement de pages Lalgo de remplacement de la page MRU Mé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!

20 Algorithmes de replacement de pages Lalgo de remplacement de la page la moins récemment utilisé Accédé en ordre: 0,1,2,3,2,1,0,3,2,3

21 Quiz Time! Questions?


Télécharger ppt "GEF 435 Principes des systèmes dexploitation Algorithmes de remplacement de pages pt I (Tanenbaum 4.4)"

Présentations similaires


Annonces Google