Système d'exploitation et matériel
Pour revenir au programme initial après le traitement d’une interruption ou d’une exception, pourquoi utiliser une instruction de retour dédiée (sret, mret, etc. en RISC-V) plutôt que l’instruction de retour de fonction ordinaire ?
- AParce que l’instruction dédiée est plus courte
- BPour restaurer, outre l’adresse de retour, le mode et l’état des interruptions
- CParce qu’avec l’instruction de retour ordinaire, le gestionnaire ne connaît pas l’adresse de retour
Afficher la réponse et l'explication
Réponse : B. Pour restaurer, outre l’adresse de retour, le mode et l’état des interruptions
Lorsqu’une exception ou une interruption survient, le CPU sauvegarde dans des registres dédiés l’adresse de retour ainsi que le mode de fonctionnement antérieur et l’état d’autorisation des interruptions, puis entre en mode privilégié. Au retour, il doit restaurer simultanément ces éléments et redescendre en mode utilisateur avant de reprendre l’instruction initiale, faute de quoi l’exécution risquerait de se poursuivre en mode privilégié. L’instruction de retour dédiée effectue cela de façon indivisible en une seule instruction. Ce n’est pas une question de longueur d’instruction, et l’adresse de retour est connue grâce au registre sauvegardé.
Continuer : 9 autres questions sur Système d'exploitation et matériel