next up previous contents
Next: Algorithmes Up: La gestion du cache Previous: La gestion du cache   Contents

Principe

Les accès au disque se font par blocs. Ainsi, la fréquence des accès disques est diminuée si certains blocs sont conservés en mémoire. En fait, un bloc n'est effectivement écrit que si le cache est saturé. Il peut cependant y avoir des problèmes en cas d'incident. L'OS remédie à ce problème en exécutant la commande sync qui recopie les blocs sur le disque tous les 30 secondes.

L'amélioration des performances se fait par anticipation des lectures : en lisant par blocs, on augmente la probabilité que l'information soit présente en mémoire plutôt que sur le disque.

Du point de vue de la gestion du cache, la table des blocs en mémoire est en zone système. Elle n'est pas swappable afin d'assurer l'intégrité des données qui y sont stockées.

Un tampon (buffer) est une zone de mémoire contenant un bloc. Le cache est constitué de l'ensemble des tampons. La taille du cache est définie à la génération du noyau mais peut évoluer dynamiquement depuis Unix système V.

Un tampon est, soit dans la listes des tampons libres, soit dans la liste hash-codée des tampons associés à un périphérique. Ces listes sont circulaires et doublement chaînées. L'entête des tampons contient les informations permettant la recherche du bloc dont le tampon est la copie :

Un tampon peut-être :


next up previous contents
Next: Algorithmes Up: La gestion du cache Previous: La gestion du cache   Contents
Arnaud Revel
2001-11-26