L’interruption est un signal émis par le matériel ou le logiciel lorsqu’un processus ou un événement nécessite une attention immédiate. Elle alerte le processeur sur un processus de haute priorité nécessitant l’interruption du processus de travail en cours. Dans les périphériques d’entrée/sortie, l’une des lignes de contrôle du bus est dédiée à cet effet et s’appelle la routine de service d’interruption (ISR).
Lorsqu’un périphérique lève une interruption au niveau de disons le processus i, le processeur termine d’abord l’exécution de l’instruction i, puis il charge le compteur de programme (PC) avec l’adresse de la première instruction de l’ISR. Avant de charger le compteur de programme avec l’adresse, l’adresse de l’instruction interrompue est déplacée vers un emplacement temporaire. Par conséquent, après avoir traité l’interruption, le processeur peut continuer avec le processus i+1.
Pendant que le processeur traite les interruptions, il doit informer le périphérique que sa demande a été reconnue afin qu’il cesse d’envoyer le signal de demande d’interruption. De plus, la sauvegarde des registres pour que le processus interrompu puisse être restauré dans le futur, augmente le délai entre le moment où une interruption est reçue et le début de l’exécution de l’ISR. C’est ce qu’on appelle la latence d’interruption.
Interruptions matérielles :
Dans une interruption matérielle, tous les périphériques sont connectés à la ligne de demande d’interruption. Une seule ligne de demande est utilisée pour tous les n périphériques. Pour demander une interruption, un dispositif ferme son commutateur associé. Lorsqu’un dispositif demande une interruption, la valeur de INTR est le OU logique des demandes des différents dispositifs.
Séquence des événements impliqués dans la gestion d’une IRQ:
- Les dispositifs lèvent une IRQ.
- Le processeur interrompt le programme en cours d’exécution.
- Le dispositif est informé que sa demande a été reconnue et le dispositif désactive le signal de demande.
- L’action demandée est exécutée.
- L’interruption est activée et le programme interrompu est repris.
Gestion de plusieurs dispositifs:
Lorsque plus d’un dispositif lève un signal de demande d’interruption, alors des informations supplémentaires sont nécessaires pour décider quel dispositif doit être considéré en premier. Les méthodes suivantes sont utilisées pour décider du périphérique à sélectionner : L’interrogation, les interruptions vectorielles et l’imbrication des interruptions. Elles sont expliquées comme suit.
- Polling:
Dans le polling, le premier périphérique rencontré avec avec le bit IRQ activé est le périphérique qui doit être desservi en premier. L’ISR approprié est appelé pour servir le même. Il est facile à mettre en œuvre mais beaucoup de temps est perdu en interrogeant le bit IRQ de tous les périphériques. - Interruptions vectorisées:
Dans les interruptions vectorisées, un périphérique demandant une interruption s’identifie directement en envoyant un code spécial au processeur sur le bus. Cela permet au processeur d’identifier le périphérique qui a généré l’interruption. Le code spécial peut être l’adresse de départ de l’ISR ou l’endroit où l’ISR est situé dans la mémoire, et est appelé le vecteur d’interruption. - Imbrication d’interruptions:
Dans cette méthode, le dispositif d’E/S est organisé dans une structure de priorité. Par conséquent, la demande d’interruption d’un périphérique de priorité supérieure est reconnue alors que la demande d’un périphérique de priorité inférieure ne l’est pas. Pour mettre en œuvre cette méthode, chaque processus/dispositif (même le processeur). Le processeur n’accepte les interruptions que des dispositifs/processus ayant une priorité supérieure à la sienne.
La priorité des processeurs est codée dans quelques bits du PS (Process Status register). Elle peut être modifiée par des instructions de programme qui écrivent dans le PS. Le processeur est en mode supervisé uniquement pendant l’exécution des routines du système d’exploitation. Il passe en mode utilisateur avant d’exécuter des programmes d’application.
Attention lecteur ! N’arrêtez pas d’apprendre maintenant. Mettez la main sur tous les concepts importants de la théorie CS pour les entretiens SDE avec le cours de théorie CS à un prix adapté aux étudiants et devenez prêt pour l’industrie.