Maison  >  Article  >  Opération et maintenance  >  Quel est le principe de la table de pages du noyau Linux et du cache de table de pages ?

Quel est le principe de la table de pages du noyau Linux et du cache de table de pages ?

WBOY
WBOYavant
2023-05-14 14:52:061501parcourir

1. Concepts associés

[Page] : Des blocages dans le processus.
[Cadre de page] : Un bloc en mémoire.
[Table de pages] : Une structure de données spéciale qui stocke la zone de table de pages de l'espace système (stockant la correspondance entre les pages logiques et les cadres de pages physiques). Chaque processus possède sa propre table de pages et des pointeurs dans la table PCB pointent vers la table de pages.

2. Entrée de table de pages

(1) Adresse logique (numéro de page, décalage), l'adresse logique est l'adresse virtuelle. Par exemple, les entrées de la table de pages de la table de pages secondaire sont les suivantes :

Quel est le principe de la table de pages du noyau Linux et du cache de table de pages ?

(2) Adresse physique (numéro de cadre de page, décalage). La relation de mappage est la suivante :

Quel est le principe de la table de pages du noyau Linux et du cache de table de pages ?

3. Cache de table de pages

[Cache de table de pages] : unité de gestion de la mémoire CPU (MMU), un cache (appelé cache de table de pages) ajouté par le fabricant du processeur dans l'unité de gestion de la mémoire. Fonction pour convertir des adresses virtuelles en adresses physiques.

Quel est le principe de la table de pages du noyau Linux et du cache de table de pages ?

4. Leur relation

  1. Le tableau des pages est composé de plusieurs entrées du tableau des pages , chaque ligne de la table des pages est une entrée de la table des pages.

  2. Numéro de cadre de page : spécialement utilisé pour stocker la page physique correspondant à la page virtuelle.

  3. Les entrées de la table des pages sont conçues par le matériel.

  4. Le répertoire Page fournit un répertoire (structure bidimensionnelle) pour la table des pages et prend en charge la recherche à plusieurs niveaux. Lorsqu'une application s'exécute sur le processeur, elle doit mettre l'adresse de départ du répertoire de pages dans un registre (car le processus de traduction d'adresse virtuelle nécessite un décalage).

  5. Le processus de travail de la MMU : le processeur obtient l'adresse virtuelle–>Le répertoire des pages des requêtes MMU–>La table des pages des requêtes MMU–>La MMU obtient les entrées de la table des pages– >MMU obtient le numéro de page physique–>MMU obtient l'adresse physique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer