Système d'exploitation et matériel

Quel est l’avantage d’associer un ASID (identifiant d’espace d’adressage) à chaque entrée du TLB ?

  1. ALes traductions peuvent être distinguées sans vider tout le TLB lors d’un changement
  2. BLa plage d’adresses virtuelles utilisable par un processus est doublée
  3. CLa table des pages devient inutile et toutes les traductions se font dans le TLB
Afficher la réponse et l'explication

Réponse : A. Les traductions peuvent être distinguées sans vider tout le TLB lors d’un changement

Sans ASID, une même adresse virtuelle désignant des adresses physiques différentes selon le processus, il faut vider le TLB à chaque changement de processus, et les défauts de TLB se succèdent ensuite. Avec un ASID par entrée, on distingue à quel processus appartient chaque traduction ; le TLB peut être conservé et réutilisé lorsqu’on revient au processus initial. La plage d’adresses virtuelles ne change pas, et la table des pages reste nécessaire pour les traductions qui ne tiennent pas dans le TLB.

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

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

  1. Grâce à quel mécanisme principal l’OS peut-il reprendre périodiquement le CPU, même à un programme qui ne le cède pas de lui-même, pour passer à d’autres processus ?
  2. Pour lire le registre d’état d’un périphérique par entrées/sorties mappées en mémoire comme ci-dessus, pourquoi ajouter volatile et configurer cette zone comme non cachée ?
  3. Dans quel cas la scrutation (polling), où le CPU examine de façon répétée l’état d’un périphérique sans utiliser d’interruptions, est-elle avantageuse ?
  4. Dans un système où le matériel ne maintient pas la cohérence des caches (non cohérent), quel traitement le logiciel doit-il effectuer avant que le CPU lise des données écrites en mémoire principale par un périphérique via DMA ?
  5. Quel est le rôle principal d’une IOMMU ?

Comparatifs sur ce thème