Bloquer les services de noyau du cache de mémoire tampon d'entrée-sortie: Présentation

Les services de cache de mémoire tampon d'E-S de bloc sont fournis pour prendre en charge l'accès utilisateur aux pilotes de périphérique via des fichiers spéciaux d'E-S par bloc.

Cet accès est requis par le système de fichiers du système d'exploitation pour les montages et d'autres activités limitées, ainsi que pour les services de compatibilité requis lorsque d'autres systèmes de fichiers sont installés sur ce type de systèmes. Ces services ne sont pas utilisés par le système de fichiers JFS (système de fichiers journal), NFS (système de fichiers réseau) ou CDRFS (système de fichiers CD-ROM) du système d'exploitation lors du traitement des données d'E-S de fichier standard. Au lieu de cela, ils utilisent le gestionnaire de mémoire virtuelle et le pager pour gérer les pages de mémoire du système en mémoire tampon.

Pour le support de compatibilité d'autres systèmes de fichiers et bloquer la prise en charge des fichiers spéciaux, les services de cache de la mémoire tampon ont deux objectifs importants:

  • Ils garantissent que plusieurs processus qui accèdent au même bloc du même périphérique en mode multiprogrammation maintiennent une vue cohérente des données dans le bloc.
  • Ils augmentent l'efficacité du système en conservant des copies en mémoire des blocs fréquemment consultés.

Les services de mémoire tampon utilisent la structure F ou l'en-tête de mémoire tampon comme principal mécanisme de suivi des données. Chaque en-tête de mémoire tampon contient une paire de pointeurs qui gère une liste de mémoires tampons à double liaison associée à un périphérique de bloc particulier. Une paire supplémentaire de pointeurs maintient une liste de blocs en double liaison disponible pour une nouvelle utilisation sur une autre opération. Les tampons qui ont des E-S en cours ou qui sont occupés à d'autres fins n'apparaissent pas dans cette liste.

Les mémoires tampons du noyau sont examinées plus en détail dans Présentation des tampons du noyau.

Voir Block I/O Kernel Services pour obtenir la liste de ces services.