> Tech > Mémoire disponible

Mémoire disponible

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

J'ai indiqué plus haut que le Memory Manager donne une page de mémoire physique disponible à  un processus qui subit un défaut de page, mais je ne vous ai pas dit ce qui définit la mémoire disponible. La liste standby fait partie de la mémoire physique que le Memory Manager

Mémoire disponible

considère disponible.
Les autres pools qui contribuent à  la mémoire
disponible sont des pages qui contiennent des données appartenant
à  la mémoire virtuelle désallouée (par exemple,
des pages contenant des données qui appartiennent aux
processus qui ont existé) et des pages qui ont été libérées et
ensuite remplies de données zéro par le thread de page zéro
de faible priorité du Memory Manager. Ces types de pages
sont stockés dans la free list et la zeroed page list du Memory
Manager, respectivement.
La figure 2 montre les transitions qui interviennent entre
les ensembles de travail et les listes de pages. Une fois par seconde,
un thread système se réveille et appelle le manager
des ensembles de travail du Memory Manager pour examiner
les ensembles de travail Système et des processus. Si la mémoire
disponible est basse, le gestionnaire des ensembles de
travail ôte des pages des processus qui n’ont pas présenté
beaucoup de défauts de page dans la seconde écoulée. Les
pages supprimées vont dans la liste modifiée ou standby selon
le cas et contribuent à  la mémoire disponible. Un effet secondaire
important de ce mécanisme de réglage est que si le
système a besoin de mémoire pour d’autres processus, le
Memory Manager prend des pages des ensembles de travail
du processus inactifs. Ainsi, ces ensembles de travail disparaissent
parfois, ce qui signifie que les processus qui restent
inactifs pendant une durée suffisamment longue ne consomment
pas de mémoire physique.
Quand un processus a besoin d’une nouvelle page de
mémoire physique, le Memory Manager détermine d’abord
si la page à  laquelle le processus est en train d’accéder se
trouve dans la liste des pages standby ou modifiées. La page
se trouvera dans l’une de ces listes si elle a été enlevée de
l’ensemble de travail du processus et si elle n’a pas été réutilisée
pour autre chose. Le fait de replacer cette page dans
l’ensemble de travail du processus est appelé soft page fault
parce que, contrairement aux défauts de pages hard, il n’implique
pas une lecture à  partir du fichier paging ou d’un
autre fichier sur disque.
Si la page n’est pas dans la liste standby ou dans la liste
des pages modifiées, le Memory Manager prend une page
d’une liste qui comporte une page, en examinant d’abord la liste libre, puis la liste des pages mises à  zéro et, finalement,
la liste standby. S’il n’y a pas de mémoire disponible, le
Memory Manager déclenche le Balance Set Manager pour
nettoyer les ensembles de travail de processus et peupler
l’une des trois listes qui constituent la mémoire disponible.
Si le Memory Manager doit enlever une page de la liste des
pages mises à  zéro, libres, ou standby pour réutilisation, il détermine
comment accéder au code ou aux données ciblées.
Cela peut consister à  lire les données du fichier paging ou
d’une image exécutable, ou à  créer des données remplies de
zéro – si l’application est en train d’allouer des données
fraîches et si la page prise ne provenait pas de la liste des
pages mises à  zéro.

Téléchargez cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010