Dans la première partie, nous avons vu comment NT organise la mémoire physique sous forme d'une liste de page frames, faisant chacune la taille d'une page (4096 octets pour les processeurs x86 et 8192 pour les Alpha). Le Gestionnaire de mémoire synchronise cette liste avec la sienne - la base
La base de données des page frames
de données PFN. Chaque valeur
de cette base de données correspond à une page physique de mémoire (par exemple
la valeur 5 correspond à la page frame 5 de la mémoire physique).
La base de données PFN stocke des informations sur l’état des données chargées
dans les pages physiques correspondantes.Une page physique peut avoir huit états
possibles, décrits dans le tableau 1. La figure 1 illustre comment le Gestionnaire
de mémoire ajoute dans une liste toutes les entrées de la base de données PFN
appartenant aux pages ayant le même état (à l’exception des pages se trouvant
dans les états valide ou en transition).
Par exemple, toutes les pages modifiées vont dans la liste des pages modifiées.
Une page subit plusieurs changements d’état pendant sa durée de vie ; c’est pourquoi
sa valeur PFN se déplace entre plusieurs listes. La figure 1 montre comment les
working sets sont associés à des pages valides dans la base de données PFN.
Voyons certains de ces changements d’état, en commençant par une page valide.
La figure 2 décrit les changements d’état dont je vais parler. Une page est valide
si elle appartient actuellement au working set d’un processus. Une page valide
peut être sale ou propre : une page sale est une page sur laquelle le processus
a écrit, de sorte que son contenu en mémoire physique peut différer de son contenu
dans un fichier de sauvegarde (un fichier de pagination ou un fichier mappé).
La MMU définit un bit dans la TVP d’une page lorsqu’un processus écrit sur cette
page.
Lorsque le Balance Set Manager réduit une page valide d’un working set, celle-ci
se déplace vers l’une des trois listes. Si elle est propre, elle va dans la liste
d’attente. Si elle est sale, elle va presque toujours dans la liste des pages
modifiées.
Une page de la liste des pages modifiées rejoint la liste des pages en attente
lorsque le Gestionnaire de mémoire a écrit les données de la page sur le disque.
Pendant cette opération, la page est dans l’état transition (qui n’a pas de liste).
Une page de la liste des pages sans écriture modifiées est transférée vers la
liste des pages en attente lorsque le système de fichier donne au Gestionnaire
de mémoire l’instruction de la déplacer.
Cette instruction ne vient qu’une fois que le fichier est renseigné. Lorsque le
nombre de pages de la liste des pages modifiées dépasse un certain seuil, ou lorsque
la mémoire libre tombe en dessous d’un certain seuil (basé sur la quantité de
mémoire physique du système et déterminé pendant le boot), un des deux threads
de programme d’écriture de pages modifiées se réveille pour effectuer des E/S
disque qui envoient les données vers un fichier de pagination ou un fichier de
données.Une page de la liste en attente va dans la liste des pages libres lorsque
le processus qui la détenait dans son working set libère la mémoire virtuelle
associée à la page ou si le processus s’achève (ce qui est un autre moyen de libérer
la mémoire virtuelle).
Les pages de la liste des pages en attente vont dans la liste des pages mises
à zéro, après avoir été vidées de leur contenu par un thread spécial, baptisé
le thread zéro-page. Ce thread s’exécute en arrière-plan avec la priorité 0. Il
ne s’exécute que si aucun autre thread ne peut s’exécuter et sa tâche consiste
à déplacer des pages de la liste des pages libres vers la liste des pages mises
à zéro lorsqu’il vide leur contenu.
Lorsqu’un processus accède à une page et que le Gestionnaire de mémoire décide
que le working set du processus peut être agrandi, le Gestionnaire consulte la
liste des pages mises à zéro en quête d’une page physique à affecter au processus.
S’il en trouve une, il peut immédiatement l’utiliser. Si la liste est vide, le
Gestionnaire de mémoire vérifie la liste des pages libres. Si elle est également
vide, il vérifie la liste des pages en attente. Enfin, si cette dernière est vide
elle aussi, le thread du Gestionnaire de mémoire attend que le Balance Set Manager
réduise une page du working set, ou qu’une page s’affiche dans les listes des
pages en attente, libres ou mises à zéro (par exemple une page peut se trouver
en transition et, après avoir écrit sur le disque, apparaître dans la liste en
attente).
La nécessité de mettre à zéro une page avant de l’attribuer au working set d’un
processus différent est une exigence de la sécurité C2. L’OS doit réinitialiser
toutes ses ressources (par exemple, mémoire, espace disque, objets) avant de les
réattribuer pour empêcher les failles de sécurité, sachant qu’un processus peut
voir les données, éventuellement sensibles, d’un autre processus.L’ultime liste
est la liste des mauvaises pages. Comme son nom l’indique, cette liste est une
zone dans laquelle le Gestionnaire de mémoire place les pages erronées qu’il a
détectées.
Le nombre de pages des listes des pages en attente, libres et mises à zéro, définit
la mémoire libre exploitée par divers outils de gestion de la mémoire (par exemple
le Gestionnaire des tâches).
Téléchargez cette ressource

Rapport mondial 2025 sur la réponse à incident
Dans ce nouveau rapport, les experts de Palo Alto Networks, Unit 42 livrent la synthèse des attaques ayant le plus impacté l'activité des entreprises au niveau mondial. Quel est visage actuel de la réponse aux incidents ? Quelles sont les tendances majeures qui redessinent le champ des menaces ? Quels sont les défis auxquels doivent faire face les entreprises ? Découvrez les top priorités des équipes de sécurité en 2025.
Les articles les plus consultés
- Les 6 étapes vers un diagnostic réussi
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Afficher les icônes cachées dans la barre de notification
- Cybersécurité Active Directory et les attaques de nouvelle génération
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- Le World Cyber Ranking, 1er classement mondial de la cybersécurité des entreprises
- Comment le Quarter Plan permet d’aligner IT et Métiers pour délivrer
- Explosion des attaques d’ingénierie sociale en 2025
- SI sous pression : 3 signes que vos flux sont mal orientés
- Transformation numérique : les entreprises françaises changent de méthode de gestion de projet en cours de route
