{{{#!protected {{{#!protected ------------------------------------------------------------------------------------ ''''''''''''''' * slqjdq sjd j fjsfjjrjoj reogje rgjerjgaerg * xmkcmsksd kldkgklrtkhktkrtl ''''''''''''''' }}} = Gestion des interruptions == Questions de cours Les questions de cette partie ont pour objectif de vérifier que vous avez compris le cours. Les réponses sont donc dans les [htdocs:cours/AS6-3.pdf slides du cours sur les interruptions]. L'ordre des questions suit globalement celui des slides du cours. Il y a beaucoup de questions, mais la plupart sont simples, certaines sont plus délicates. Ce n'est pas grave, si vous ne savez pas tout, mais vous devriez être en mesure de répondre à un grand nombre. 1. À quoi servent les interruptions ? 1. Une interruption en informatique est à la fois une suspension temporaire d'un programme et un signal électrique. Comment s'appelle le signal d'interruption et comment s'appelle le code permettant de la traiter ? 1. Quel état peut prendre un signal d'interruption ? 1. Quel type de composant émet un signal d'interruption ? 1. Est-ce que tous les composants génèrent des signaux d'interruption ? Si la réponse est non, donnez un exemple ? 1. Est-ce qu'un composant peut produire plusieurs signaux d'interruption ? 1. À qui est destiné un signal d'interruption ? 1. Est-ce qu'une application utilisateur sait quand elle va être interrompue ? 1. Est-ce qu'une application utilisateur sait quand elle a été interrompue ? 1. Que signifie IPI et à quoi ça sert ? 1. Est-ce qu'un programme utilisateur peut interdire les interruptions en général ? 1. Est-ce que le noyau du système d'exploitation peut interdire les interruptions en général ? 1. Qui exécute le code de traitement du signal d'interruption ? 1. Quand un signal d'interruption s'active est ce que le noyau sait toujours quoi faire ? 1. Que signifie acquitter un signal d'interruption ? (on dit aussi acquitter un interruption) 1. Comment fait-on pour acquitter une interruption ? 1. Que signifie l'expression «vol de cycles» ? 1. Est-ce l'application qui a provoqué l'activation d'un signal d'interruption qui est volée ? 1. Pour le composant TTY, à quel moment produit-il un signal d'interruption ? 1. Pour le composant TTY, comment fait-on pour acquitter une d'interruption ? 1. Si plusieurs caractères ASCII sont en attente dans d'être lus dans un TTY, quelle conséquence cela a-t-il sur le signal d'interruption ? 1. À quoi sert le composant `TIMER` ? 1. Comment fait-on pour le configurer ? 1. Comment fait-on pour acquitter une interruption pour le composant TIMER ? 1. Est-ce que le registre `TIMER_VALUE` peut activer (on dit aussi lever) un signal d'interruption ? 1. Que signifie ICU et à quoi cela sert-il ? 1. Que signifie masquer une interruption ? 1. Dans l'ICU, que contient le registre `ICU_INT` ? 1. Dans l'ICU, que contient le registre `ICU_MASK` ? 1. Dans l'ICU, comment fait-on pour modifier la valeur de `ICU_MASK` ? 1. Dans l'ICU, que contient le registre `ICU_VECTOR` ? 1. Dans l'ICU, il y a autant de jeu de registres que de processeur, pourquoi ? 1. Qu'est-ce que la fonction `kinit()` ? 1. Que contient le vecteur d'interruption ? 1. À quel moment doit-on initialiser le vecteur d'interruption ? 1. En quoi consiste la liaison des interruptions (''interrupt binding'' en anglais) ? 1. À quelle adresse saute-t-on lorsqu'un signal interruption s'active et qui n'est pas masqué ? 1. Expliquer le rôle des bits `UM`, `EXL` et `IE` du registre `C0_SR`. 1. Comment le noyau sait-il que la cause de son invocation est une interruption ? 1. Quel est le rôle du gestionnaire d'interruption ? 1. Quelle instruction permet de sortir du noyau pour revenir dans le code interrompu ? et que fait-elle précisément ? 1. Rappeler la différence entre un registre temporaire et un registre persistant. 1. Dans le gestionnaire d'interruption, on sauve les registres temporaires seulement avant d'appeler la fonction de traitement d'un signal d'interruption ? {{{#!protected ------------------------------------------------------------------------------------ ''''''''''''''' ''''''''''''''' }}} == Travaux pratiques