Interruption
Une interruption est un signal envoyé au processeur qui interrompt le processus en cours. Elle peut être générée par un périphérique matériel ou un logiciel.
Une interruption matérielle est souvent créée par un périphérique d’entrée, comme une souris ou un clavier. Par exemple, si vous utilisez un traitement de texte et appuyez sur une touche, le programme doit traiter immédiatement l’entrée. Taper « hello » crée cinq demandes d’interruption, ce qui permet au programme d’afficher les lettres saisies. De même, chaque fois que vous cliquez sur un bouton de la souris ou appuyez sur un écran tactile, vous envoyez un signal d’interruption au périphérique.
Les interruptions logicielles servent à gérer les erreurs et les exceptions qui se produisent pendant l’exécution d’un programme. Par exemple, si un programme s’attend à ce qu’une variable soit un nombre valide, mais que sa valeur est null, une interruption peut être générée pour empêcher le programme de se bloquer. Elle permet au programme de changer de direction et de gérer l’erreur avant de continuer. De même, une interruption peut servir à arrêter une boucle infinie, qui pourrait créer une fuite de mémoire ou empêcher un programme de répondre.
Les interruptions matérielles et logicielles sont traitées par un gestionnaire d’interruptions, également appelé routine de service d’interruption, ou ISR. Lorsqu’un programme reçoit une demande d’interruption, l’ISR traite l’événement, puis le programme reprend son exécution. Comme les interruptions sont souvent aussi brèves qu’une frappe au clavier ou un clic de souris, elles sont souvent traitées en moins d’une milliseconde.
Testez vos connaissances