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 II (Tanenbaum 4.4)

Présentations similaires


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

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

2 Revue Quel algorithmes de remplacement de pages avons nous vus jusquà maintenant? Optimal NRU PAPS Seconde chance Horloge MRU (avec aide du matériel)

3 Synopsis Algorithme de la page le moins récemment utilisée en logiciel (vieillissement) Ensemble de travail Algorithme Horloge ET

4 Problèmes avec MRU On se souvient: MRU Les deux dernières solutions ont besoin de matériel Registres et un genre de compteur pour les instructions, ou Une matrice en matériel de grandeur n x n La deuxième solution est particulièrement coûteuse quand le nombre de cadres augmente. En pratique, ces deux solutions ne sont pas grandement utilisées Est-ce que MRU peut être implémenté en logiciel?

5 Émulation logiciel de MRU Chaque page a un compteur logiciel À chaque interruption de lhorloge, si une page a été utilisé, on ajoute 1 à son compteur Est-ce quil y a des problèmes avec cette solution? Au lieu dajouter un nombre on fait un décalage logique à droite en entrant la valeur 0 ou 1, à gauche Ceci vieilli la page de façon similaire à notre estimation du processus le plus court en prochain dans un système interactif

6 Émulation logiciel de MRU

7 Est-ce quil y a des différences entre notre émulation du MRU et lidéal? Parce que nous enregistrons lutilisation par tic nous ne pouvons pas discriminer entre deux pages qui ont la même valeur pour le bit le plus significatif. Dans ce cas on choisi la page avec la plus petite valeur du compteur Avec un nombre fini de bits pour les compteurs, plusieurs pages vont aller à zéro relativement vite. À ce point, on ne peut pas dire quelle page dans le groupe de pages qui ont des compteurs à zéro est la page MRU, on doit donc prendre une des pages dans le groupe aléatoirement

8 Lensemble de travail Jusquà maintenant nous avons discuté de la pagination dans sa forme pure Aussitôt que le CPU essaie dextraire la première instruction dun processus un défaut de page se produit. Des autres défauts de page pour le tas et la pile suivent assez rapidement Éventuellement, le processus a le nombre de pages dont il a besoin et il se stabilise. Cette stratégie sappel chargement sur demande ( demand paging ) Si des processus entiers sont permutés entre le disque et la mémoire principale chaque fois quun processus se voit donné le CPU il va faire de lécroulement thrashing de façon spectaculaire pour les premières millisecondes

9 Lensemble de travail ( working set ) Pour minimiser lécroulement, beaucoup de systèmes de pagination vont tracer lensemble des pages quun processus se sert couramment. Cet ensemble de pages sappel lensemble de travail et lapproche sappel le model de lensemble de travail Le chargement des pages quun processus va probablement avoir besoin avant de laisser le processus sexécuter sappel pré-pagination Cette approche réduit lécroulement parce que, à un instant donné, les processus tendent à référencer un petit groupe dadresses de mémoire

10 Lensemble de travail Avec lexamen des référence de mémoire récentes, la grandeur de lensemble de travail augmente À un instant t, avec k références de mémoire récentes lensemble de travail est w(k,t)

11 Lensemble de travail La f n w(k,t) est monotone croissante Quand k est augmenté avec plus de références, la grandeur de lensemble de travail doit rester constante ou augmenter w(k,t) croit rapidement initialement lorsque les pages initiales sont demandés et parce que les programmes exécutent en boucles, w(k,t) croit lentement quand le programme change de boucle Ce comportement rend possible le traçage du contenue de lensemble de travail pendant lexécution et permet destimer les pages qui sont requises quand un processus est remis en exécution (ces pages sont pré-chargées)

12 Lensemble de travail Comment détermine-t-on lensemble de travail? Dans sa forme pure, chaque référence serait entreposée dans une liste chaînée avec les duplications supprimées. La grandeur de la liste serait k Ceci est dispendieux en temps (pour disons, k=10,000) Une approximation peut être faite en définissant lensemble de travail comme étant lensemble de pages utilisées dans les dernières T secondes de temps de CPU Parce que k augmente typiquement avec une augmentation de T ceci est une définition raisonnable Chaque processus a besoin de sa propre horloge virtuelle

13 Lensemble de travail Lhorloge virtuelle Chaque processus a une horloge qui mesure combien de temps dexécution il cest vu allouer ie: si un processus commence au temps 0, et quil a eu deux morceaux de temps de 25ms chaque dans les dernières 300ms alors son horloge virtuelle indique 50 Lensemble de travail est maintenant composé des pages quun processus a référencé dans les dernières secondes virtuelles On peut maintenant voir un algorithme de remplacement de page apparaître: quand on veut évincer une page, on choisi une page qui nest pas dans lensemble de travail Comment implémente-t-on ceci en pratique?

14 Algo de remplacement de pages avec ensemble de travail (ARP ET) Pour implémenter lARP ET: Chaque processus a besoin dune horloge virtuelle Chaque page en mémoire requiert les bits dutilisation et de modification – ces bits opèrent de la même façon quavant De plus, chaque page a besoin dune entrée pour sauvegarder le temps virtuel approximatif écoulé depuis la dernière référence à la page Sur les tics dhorloge toutes les pages avec la bit dutilisation à 1 ont leurs horloges de référence ajustées au temps virtuel courrant (cest pourquoi le temps virtuel listé pour chaque page est approximatif )

15 ARP ET Pour implémenter le ARP ET: Sur un défaut de page, on inspecte les entrées dans la table de pages: Si une page est utilisée, la bit dutilisation est remise à 0 et le temps de dernière utilisation est ajusté au temps virtuel courrant Si la page na pas été utilisé, le temps de dernière utilisation est inspecté. Si le temps virtuel courrant moins le temps de dernière utilisation du cadre est plus grand que secondes la page est enlevée Si aucun candidat nest trouvé alors: On évince une page avec le temps de dernière utilisation le plus vieux qui na pas été référencé dans le dernier tic dhorloge Si toutes les pages ont étés utilisées dans le dernier tic dhorloge, on en évince une aléatoirement

16 ARP ET

17 Est-ce quil y a des problèmes avec cette façon de faire? La table de pages entière doit être examinée à chaque défaut de page jusquà ce que lon trouve une candidate! A-t-on vue un problème similaire dans le passé récent? PAPS/ARP de la seconde chance maintienne une liste de pages dans lordre PAPS. Nous avons utilisé lalgorithme de lhorloge pour implémenter une solution plus rapide.

18 LARP Horloge dEnsemble de travail Similaire à lARP de lhorloge, on garde une liste circulaire de touts les cadres de pages avec un pointeur à un de ces cadres Sur un défaut de page: Examine la page à laquelle on pointe. Si elle est utilisée on met le bit à zéro, on met à jour le compteur et on avance à la prochaine entrée Quand une entrée avec le bit dutilisation 0 est trouvée on soustrait son temps de dernière utilisation du temps virtuel courrant. Si ce temps est plus grand que, et que la page est non modifiée, la page est écrite pardessus

19 LARP horloge ET Sur un défaut de page: Si une page est sale, une écriture au disque est commencée et lalgorithme continue de chercher pour une page immédiatement disponible Pourquoi? Si toutes les pages sont en ligne pour être écrites sur le disque, la main de lhorloge continue davancer pour trouver une page qui a été nettoyée Si la main fait le tour complet des cadres, sans aucune écriture à être faite, cela indique que toutes les pages sont dans lensemble de travail On réclame tout simplement la première page propre qui est disponible

20

21 Quiz Time! Questions?


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

Présentations similaires


Annonces Google