Système d'exploitation et matériel

Pour quelle raison principale un changement de contexte entre processus peut-il dégrader les performances bien plus que le seul temps de sauvegarde et de restauration des registres ?

  1. AParce que la fréquence d’horloge du CPU baisse à chaque changement
  2. BParce que le programme est relu depuis le disque à chaque changement
  3. CParce qu’après le changement, les défauts de cache et de TLB augmentent
Afficher la réponse et l'explication

Réponse : C. Parce qu’après le changement, les défauts de cache et de TLB augmentent

La sauvegarde et la restauration des registres sont brèves, mais pour le processus qui reprend la main, le contenu du cache et du TLB appartient au processus précédent, et les défauts se succèdent jusqu’à ce que les données et traductions nécessaires soient rechargées. Sur un CPU sans ASID, il faut en outre vider le TLB lors du changement d’espace d’adressage. Ce coût indirect peut dépasser le temps de changement direct. L’horloge ne baisse pas et le programme n’est pas relu depuis le disque.

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

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

  1. Quel est l’avantage d’associer un ASID (identifiant d’espace d’adressage) à chaque entrée du TLB ?
  2. 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 ?
  3. 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 ?
  4. 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 ?
  5. 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 ?

Comparatifs sur ce thème