Qu'est-ce qu'un gestionnaire d'interruption (ISR) ?
Définition
Une Routine de Service d'Interruption (RSI) ou gestionnaire d'interruption est une fonction spéciale exécutée par le CPU quand une interruption matérielle ou logicielle survient. Elle gère événements critiques temps (E/S, minuteurs, erreurs) qui ne peuvent attendre flux programme normal.
Comment ça marche
- Signal interruption arrive (ex. touche pressée, disque prêt, paquet réseau).
- CPU suspend tâche courante, sauvegarde contexte (PC, drapeaux, registres).
- CPU saute vers adresse RSI depuis table vecteurs interruptions.
- RSI exécute : lit périphérique, traite données, acquitte interruption.
- RSI retourne via
IRET(x86) /RETI(8085) — CPU restaure contexte et reprend.
Tâches RSI typiques
- Lire entrée clavier/souris/tactile
- Servir données série/USB/réseau
- Gérer ticks minuteur (ordonnanceur)
- Gérer erreurs matériel (parité, page fault)
- Signaler tâches/sémaphores RTOS
Règles conception critiques
- Gardez RSI courtes et rapides — différez travail lourd vers threads/tâches.
- Désactivez interruptions minimalement ; utilisez niveaux priorité.
- Jamais bloquer (pas attentes, sleeps, mutex).
- Réentrant-sûr si données partagées accédées.
Exemple : RSI Clavier
Touche pressée → interruption → RSI lit code scan depuis contrôleur clavier → convertit ASCII → place dans tampon entrée → signale tâche entrée → retourne.
Les RSI sont au cœur de la réactivité temps-réel dans noyaux OS, firmware embarqué, et pilotes périphériques.
