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

Module Systèmes dexploitation Chapitre 9 Mémoire : Algorithmes de remplacement Partie III École Normale Supérieure Tétouan Département Informatique 2008-2009.

Présentations similaires


Présentation au sujet: "Module Systèmes dexploitation Chapitre 9 Mémoire : Algorithmes de remplacement Partie III École Normale Supérieure Tétouan Département Informatique 2008-2009."— Transcription de la présentation:

1 Module Systèmes dexploitation Chapitre 9 Mémoire : Algorithmes de remplacement Partie III École Normale Supérieure Tétouan Département Informatique

2 2 Revue Quelle partie du matériel transforme les adresses logiques en adresses physiques? Comment on appel lévénement quand une Trap est fait au SE parce quune page nest pas en mémoire? 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 3 Synopsis Introduction Remplacement de pages Algorithme optimal (OPT) Algorithme NRU Algorithme LRU Algorithme PAPS Algorithme de deuxième chance Algorithme dhorloge (facultatif) Comparaison des algorithmes Anomalie de Belady

4 4 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 libre, une page doit être évincée de la mémoire. Quelle page est choisit pour être évincée? Introduction

5 5 Introduction Exécution dune défaut de page: va-et-vient plus en détail

6 6 Introduction

7 7 Introduction Temps moyen daccès à la mémoire Supposons que: accès en mémoire: 100 nanosecs temps de traitement de défaut de page: 25 millisecs = 25,000,000 nanosecs p: probabilité de ne pas trouver une page en mémoire (défaut) (quantité entre 0 et 1) Alors Temps moyen daccès mémoire: (1-p) x p x 25,000,000 (pas de défaut + défaut)

8 8 Remplacement de pages Quoi faire si un processus demande une nouvelle page et il ny a pas de cadres libres en RAM? Il faudra choisir une page déjà en mémoire principale, appartenant au même ou à un autre processus, quil est possible d enlever de la mémoire principale –la victime! Un cadre de mémoire sera donc rendu disponible Évidemment, plusieurs cadres de mémoire ne peuvent pas être "victimisé": –p.ex. cadres contenant le noyau du SE, tampons d E/S...

9 9 Remplacement de pages Choisir la victime de façon à minimiser le taux de défaut de pages –pas évident!!! Page dont nous n`aurons pas besoin dans le futur? impossible à savoir! Page pas souvent utilisée? Page qui a été déjà longtemps en mémoire? etc. nous verrons...

10 10 Remplacement de pages Les algorithmes de choix de pages à remplacer doivent être conçus de façon à minimiser le taux de défaut de pages à long terme. Mais il ne peuvent pas impliquer des temps de système excessifs, p.ex. mise à jour de tableaux en mémoire pour chaque accès de mémoire. Ni l`utilisation de matériel dispendieux.

11 11 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é 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... Remplacement de pages

12 12 Remplacement de pages Nous allons expliquer et évaluer les algorithmes en utilisant la chaîne de référence pages suivante: 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2 Attention: les séquences dutilisation pages ne sont pas aléatoires... –Localité de référence Ces références proviendront de plusieurs processus Lévaluation sera faite sur la base de cet exemple, évidemment pas suffisant pour en tirer des conclusions générales

13 13 Lalgorithme de remplacement de pages optimal –Un algorithme théorique qui représente la décision absolue, sans aucun doute, le meilleur choix pour remplacer une page –Étiqueté chaque cadre de page avec le nombre dinstructions jusquà ce quon ait besoin de ce cadre –Remplace la page avec létiquette 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 Algorithme optimal (OPT)

14 14 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 Algorithme optimal (OPT)

15 15 Algorithme NRU Lalgorithme de remplacement de pages Non Récemment Utilisée (NRU) –Cet algorithme utilise les bits de modification et dutilisation (référence) pour déterminer la meilleure candidate pour le remplacement. –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 (référence) 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.

16 16 Quand un défaut de page arrive, le SE inspecte touts les cadres de pages et les divisent en quatre classes : –Class 0: non référencée, non modifiée. –Class 1: non référencée, modifiée –Class 2: référencée, non modifiée –Class 3: référencée, modifié Une page est choisit aléatoirement dans la classe la plus basse (qui a le plus petit numéro) et est remplacée. Algorithme NRU

17 17 Lidée implicite est quil est mieux de remplacer une page modifiée qui na pas été utilisée (référencé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. Algorithme NRU

18 18 Algorithme LRU Ordre chronologique dutilisation (LRU) Remplace la page dont la dernière référence remonte au temps le plus lointain (le passé utilisé pour prédire le futur) –En raison de la localité des références, il sagit de la page qui a le moins de chance dêtre référencée –performance presque aussi bonne que lalgo. OPT

19 19 Algorithme LRU

20 20 Algorithme LRU Chaque page peut être marquée (dans le descripteur dans la table de pages) du temps de la dernière référence: –besoin de matériel supplémentaire. La page LRU est celle avec la + petite valeur de temps (nécessité dune recherche à chaque défaut de page) On pourrait penser à utiliser une liste de pages dans lordre d utilisation: perte de temps à maintenir et consulter cette liste (elle change à chaque référence de mémoire!) Dautres algorithmes sont utilisés: –LRU approximations

21 21 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. Algorithme PAPS

22 22 Algorithme PAPS Logique: une page qui a été longtemps en mémoire a eu sa chance d exécuter Les cadres forment conceptuellement un tampon circulaire, débutant à la plus vieille page –Lorsque la mémoire est pleine, la plus vieille page est remplacée. Donc: first-in, first-out Simple à mettre en application –tampon consulté et mis à jour seulement aux défauts de pages... Mais: Une page fréquemment utilisée est souvent la plus vielle, elle sera remplacée par FIFO!

23 23 Algorithme PAPS

24 24 Algorithme PAPS Les premières pages amenées en mémoire sont souvent utiles pendant toute lexécution dun processus! –variables globales, programme principal, etc. Ce qui montre un problème avec notre façon de comparer les méthodes sur la base d une séquence aléatoire: –les références aux pages dans un programme réel ne seront pas vraiment aléatoires

25 25 Algorithme de deuxième chance –Cet algorithme est une modification du PAPS (FIFO) pour le rendre possiblement plus raisonnable –Avant de remplacer 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. Son 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é. Algorithme de deuxième chance

26 26 Algorithme de remplacement de pages de lhorloge –Lalgorithme 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 Algorithme dhorloge

27 27 Algorithme dhorloge Semblable à FIFO, mais il tient compte de lutilisation récente de pages Les cadres qui viennent dêtre utilisés (bit=1) ne sont pas remplacées (deuxième chance) –Les cadres forment conceptuellement un tampon circulaire –Lorsquune page est chargée dans un cadre, un pointeur pointe sur le prochain cadre du tampon Pour chaque cadre du tampon, un bit utilisé est mis à 1 (par le matériel) lorsque: –une page y est nouvellement chargée –sa page est utilisée Le prochain cadre du tampon à être remplacé sera le premier rencontré qui aura son bit utilisé = 0. –Durant cette recherche, tout bit utilisé = 1 rencontré sera mis à 0

28 28

29 29 Comparaison: Horloge, FIFO et LRU

30 30 Comparaison: Horloge, FIFO et LRU Les simulations montrent que lhorloge est presque aussi performant que LRU –variantes de l`horloge ont été implantées dans des systèmes réels Lorsque les pages candidates au remplacement sont locales au processus souffrant du défaut de page et que le nombre de cadres alloué est fixe, les expériences montrent que: –Si peu (6 à 8) de cadres sont alloués, le nombre de défaut de pages produit par FIFO est presque double de celui produit par LRU, et celui de CLOCK est entre les deux –Ce facteur sapproche de 1 lorsque plusieurs (plus de 12) cadres sont alloués. Cependant le cas réel est de milliers et millions de pages et cadres, donc la différence n`est pas trop importante en pratique... –On peut tranquillement utiliser LRU

31 31 Comparaison: Horloge, FIFO et LRU Pas grosse différence en pratique… (Stallings)

32 32 Anomalie de Belady Pour quelques algorithmes, dans quelques cas il pourrait avoir plus de défauts avec plus de mémoire! –p. ex. FIFO, mais pas LRU, OPT, CLOCK

33 33 Anomalie de Belady

34 34 Anomalie de Belady Cas dintérêt théorique: + de mémoire, + de fautes

35 35 Anomalie de Belady

36 36 Quiz Time! Questions?


Télécharger ppt "Module Systèmes dexploitation Chapitre 9 Mémoire : Algorithmes de remplacement Partie III École Normale Supérieure Tétouan Département Informatique 2008-2009."

Présentations similaires


Annonces Google