Qu'est-ce que Table des pages ?

Table qui associe les numéros de page des adresses virtuelles aux numéros de page des adresses physiques. L'OS en crée une par processus et la MMU du CPU la consulte pour traduire les adresses. Chaque entrée contient aussi des bits de protection.

Nom japonais: ページテーブル

« Table des pages » apparaît dans 19 questions d'entraînement réparties sur 2 thèmes, dont Système d'exploitation et matériel, CPU et architecture.

Traduction d'adresse virtuelle en physique (TLB et table des pages) Adresse virtuelle N° de page virtuelle (VPN) Offset dans la page TLB Cache des traductions Table des pages En mémoire centrale Échec Ajout Succès Parcours des tables Inchangé N° de page physique (PFN) Offset dans la page Adresse physique Pages de 4 Ko : offset = 12 bits de poids faible
Traduction d'adresse virtuelle en physique (TLB et table des pages) · Voir dans les schémas

Domaine: Système d'exploitation et matériel

S'entraîner : questions sur Table des pages

Quel est le rôle de la table des pages ?

  1. AFaire correspondre les numéros de page des adresses virtuelles aux numéros de page des adresses physiques
  2. BDupliquer et sauvegarder, page par page, le contenu des données présentes en mémoire physique
  3. CGérer la priorité des processus en cours en les classant dans l’ordre des pages
Afficher la réponse et l'explication

Réponse : A. Faire correspondre les numéros de page des adresses virtuelles aux numéros de page des adresses physiques

En mémoire virtuelle, les adresses virtuelles utilisées par le programme sont traduites en adresses de la mémoire physique réelle. La table des pages enregistre, pour chaque numéro de page virtuelle, le numéro de page physique correspondant et des informations de protection comme les droits de lecture et d’écriture ; l’OS en crée une par processus et la MMU du CPU la consulte. Les traductions fréquentes sont conservées dans le TLB. Ce n’est pas une table qui duplique le contenu des données ni qui gère la priorité des processus.

Quelle est la principale raison d’utiliser une table des pages à plusieurs niveaux (hiérarchique) plutôt qu’à un seul niveau ?

  1. ALes tables des zones inutilisées peuvent être omises, ce qui économise la mémoire occupée par la table des pages
  2. BLe nombre de tables lues à chaque traduction diminue, ce qui accélère le traitement des défauts de TLB
  3. CLa capacité de la mémoire physique peut dépasser l’espace d’adressage virtuel
Afficher la réponse et l'explication

Réponse : A. Les tables des zones inutilisées peuvent être omises, ce qui économise la mémoire occupée par la table des pages

Une table des pages à un niveau exige des entrées pour toutes les pages de l’espace d’adressage virtuel, utilisées ou non ; en environnement 64 bits, la table devient gigantesque. Avec plusieurs niveaux, on ne crée que les tables inférieures des zones utilisées et l’on invalide les entrées de la table supérieure pour les zones inutilisées, si bien que la mémoire consommée suit l’usage du programme. En contrepartie, le nombre de tables parcourues lors d’un défaut de TLB augmente avec le nombre de niveaux, ce qui ralentit. Cela n’a pas de rapport avec la taille de la mémoire physique.

« Table des pages » dans les explications

Questions mentionnant « Table des pages » (19)

  1. Quel est le rôle de la table des pages ?
  2. Quelle est la principale raison d’utiliser une table des pages à plusieurs niveaux (hiérarchique) plutôt qu’à un seul niveau ?
  3. Avec des adresses virtuelles de 32 bits, des pages de 4 KB et des entrées de table des pages de 4 octets, quelle est la taille d’une table des pages à un niveau ?
  4. Avec une table des pages à plusieurs niveaux utilisant 48 bits d’adresse virtuelle, des pages de 4 KB et des tables de 512 entrées (9 bits) à chaque niveau, combien de niveaux faut-il parcourir ?
  5. Quelle combinaison d’informations figure habituellement dans chaque entrée de la table des pages ?
  6. Beaucoup d’OS placent la zone du noyau dans une partie de l’espace d’adressage de chaque processus (par exemple la plage haute) et en interdisent l’accès depuis le mode utilisateur par les bits de protection de la table des pages. Quel est l’avantage principal de cette disposition ?
  7. Dans un système multicœur, lorsque l’OS modifie l’entrée de table des pages d’une page pour supprimer sa correspondance, quel traitement est nécessaire ?
  8. Quel cache conserve les résultats de traduction d'adresses virtuelles en adresses physiques et accélère cette traduction ?
  9. Dans quel cas un défaut de page survient-il ?
  10. Lorsqu’un défaut de page survient à l’accès à une page évincée sur disque, quel est le déroulement du traitement par l’OS ?
  11. Quelle description de la pagination à la demande est correcte ?
  12. Lors d’un changement de contexte, que faut-il sauvegarder pour le processus quitté ?
  13. Quel est l’avantage d’associer un ASID (identifiant d’espace d’adressage) à chaque entrée du TLB ?
  14. Pour quelle raison principale un OS courant empêche-t-il les applications de lire et écrire directement les registres des périphériques ?
  15. Dans une virtualisation avec pagination imbriquée (traduction d’adresse à deux niveaux), quelle description de la traduction effectuée par le matériel est correcte ?

Termes associés

TLB (tampon de traduction d'adresses) Défaut de page (page fault) Mémoire virtuelle Appel système Pagination à la demande Interruption TLB shootdown Changement de contexte Pointeur de pile ASID (identifiant d'espace d'adressage)

Retour au glossaire