Partager via


Gestionnaire de cache et de mémoire de réglage des performances

Par défaut, Windows met en cache les données de fichier lues à partir de disques et écrites sur des disques. Cela implique que les opérations de lecture lisent les données de fichier à partir d’une zone de la mémoire système, appelée cache de fichiers système, plutôt qu’à partir du disque physique. De même, les opérations d’écriture écrivent les données du fichier dans le cache de fichiers système plutôt que sur le disque, et ce type de cache est appelé cache en écriture différée. La mise en cache est gérée par objet fichier. La mise en cache s’effectue sous la direction du gestionnaire de cache, qui fonctionne en continu pendant l’exécution de Windows.

Les données de fichier dans le cache de fichiers système sont écrites sur le disque à des intervalles déterminés par le système d’exploitation. Les pages vidées restent soit dans la plage de travail du cache système (lorsque FILE_FLAG_RANDOM_ACCESS est défini et que le descripteur de fichier n’a pas été fermé), soit sur la liste de secours où elles font partie de la mémoire disponible.

La politique consistant à retarder l’écriture des données dans le fichier et à les conserver dans le cache jusqu’à ce que le cache soit vidé est appelée écriture différée, et elle est déclenchée par le gestionnaire de cache à un intervalle de temps déterminé. Le temps auquel un bloc de données de fichier est vidé dépend en partie de la durée pendant laquelle il a été stocké dans le cache et du temps écoulé depuis le dernier accès aux données lors d’une opération de lecture. Cela garantit que les données de fichier fréquemment lues resteront accessibles dans le cache de fichiers système pendant le maximum de temps.

Ce processus de mise en cache des données de fichier est illustré dans la figure suivante :

Mise en cache des données de fichier

Comme illustré par les flèches pleines de la figure précédente, une région de données de 256 Ko est lue dans un emplacement de cache de 256 Ko dans l’espace d’adressage du système lorsqu’elle est demandée pour la première fois par le gestionnaire de cache lors d’une opération de lecture de fichier. Un processus en mode utilisateur copie ensuite les données de cet emplacement dans son propre espace d’adressage. Lorsque le processus a terminé son accès aux données, il réécrit les données modifiées dans le même emplacement dans le cache système, comme l’indique la flèche pointillée entre l’espace d’adressage du processus et le cache système. Lorsque le gestionnaire de cache a déterminé que les données ne seront plus nécessaires pendant un certain temps, il réécrit les données modifiées dans le fichier sur le disque, comme l’indique la flèche en pointillés entre le cache système et le disque.

Dans cette section :