Page suivante Page précédente Table des matières

12. IRQ

12.1 Vue d'ensemble

IRQ est un signal asyncrone envoyé au microprocesseur pour annoncer qu'une requête est complétée

12.2 Schéma d'interaction

                                 |<-->  IRQ(0) [Timer]
                                 |<-->  IRQ(1) [Device 1]
                                 | ..
                                 |<-->  IRQ(n) [Device n]
    _____________________________| 
     /|\      /|\          /|\
      |        |            |
     \|/      \|/          \|/
 
    Tâche(1)  Tâche(2) ..   Tâche(N)
              
             
             IRQ - Schéma d'Interaction de Tâches
  

Que se produit?

Un SE typique utilise beaucoup de signaux IRQ pour interrompre l'exécution normale de processus et fait le ménage. Ainsi:

  1. IRQ (i) se produit et Tâche(j) est interrompue
  2. IRQ(i)_handler est exécuté
  3. le contrôle revient à la Tâche(j) interrompue

Sous Linux, quand un IRQ survient, d'abord la routine d'emballage IRQ (appelée "interrupt0x??") est appellée, puis l'IRQ(i)_handler "officiel" est exécuté. Ceci permet certains droits comme la préemption de timeslice.


Page suivante Page précédente Table des matières