Vecteur d'interruptionUn vecteur d'interruption est un moyen technique pour attacher une routine d'interruption à une requête d'interruption. Il est réalisé par le stockage en mémoire de l'adresse mémoire[1], de la routine d'interruption (interrupt sub-routine, ISR) qui serait exécutée si la requête d'interruption (IRQ) associée à une interruption matérielle ou logicielle est acceptée. Cette adresse est stockée en mémoire dans un tableau dont toutes les lignes sont des adresses vers les routines d'interruption associées à chaque interruption [2]. Chaque ligne de cette "table des vecteurs d'interruptions" est associée à un identifiant d'interruption (n°INT ou IRQ, par exemple fourni par un gestionnaire d'interruption). L'utilisation d'un stockage de cette table en mémoire vive modifiable permet une indirection du processus permettant d'accéder au code de la routine: le lien identifiant - routine n'est pas direct et figé. D'un point de vue sémantique le "vecteur" est l'intermédiaire qui permet de rediriger la requête vers la routine. ExempleDans le système DOS, chaque interruption, qu’elle soit matérielle ou logicielle, est identifiée par un entier de 8 bits, dont la valeur varie de 0 à 255. Les petites interruptions correspondent plutôt à des interruptions bas niveau. Les interruptions plus grandes correspondent à des services plus récents. Pour n'en citer que quelques unes, l'interruption INT 21H (ou 33 en décimal) correspond aux principaux services du DOS; les interruptions 20H et 22H (ou 32 et 34 en décimal) correspondent à la terminaison du programme; l'interruption 2FH (ou 47) est une interruption de multiplexage, et l'interruption 33H (ou 51) est l'interruption de la souris[3]. Dans le système Linux, chaque interruption, qu’elle soit matérielle ou logicielle, est identifiée par un entier de 8 bits, dont la valeur varie de 0 à 255[4] :
Ce numéro permet d’adresser une table comportant 256 entrées, appelée « table des vecteurs d’interruptions » (idt_table), placée en mémoire centrale lors du démarrage de l’OS. Articles connexesNotes et références
Information related to Vecteur d'interruption |