Système d'exploitation et matériel

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.

S'entraîner sur ce thème Retour au thème

Autres questions sur Système d'exploitation et matériel

  1. 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 ?
  2. 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 ?
  3. Quelle combinaison d’informations figure habituellement dans chaque entrée de la table des pages ?
  4. Quel est l’avantage de la copie sur écriture (copy-on-write) lors de la duplication d’un processus ?
  5. Quelle description de la pagination à la demande est correcte ?

Comparatifs sur ce thème