L’interruption et l’exception sont deux concepts différents, mais ils sont similaires en ce sens qu’ils amènent tous deux l’unité centrale à interrompre le flux normal d’exécution des instructions afin d’exécuter un autre programme dans l’espace du noyau pour les traiter. La différence essentielle réside dans la manière dont ils traitent les événements inattendus qui se produisent quelque part dans le système, le processeur ou le programme lui-même.
Interruption
L’interruption est un signal envoyé à l’unité centrale par des périphériques externes connectés à l’ordinateur ou par un programme à l’intérieur du système qui demande au système d’exploitation d’intervenir dans le processus en cours. Les interruptions, comme leur nom l’indique, sont des événements brusques qui interrompent le flux normal d’exécution des instructions. Elles incitent le système d’exploitation à prendre des mesures immédiates pour déterminer la marche à suivre. Ces événements inattendus sont généralement liés à un périphérique d’E/S, qui traite principalement avec le monde extérieur. Par exemple, lorsque vous appuyez sur une touche du clavier ou que vous déplacez la souris, cela déclenche des interruptions matérielles qui amènent l’unité centrale à lire la frappe ou le mouvement de la souris. Ainsi, lorsqu’une interruption se produit, l’unité centrale exécute une « routine de gestion des interruptions » ou « gestionnaire d’interruptions » pour s’occuper de l’événement qui l’a provoquée en premier lieu. Le contrôle est transféré au système d’exploitation dès qu’une interruption se produit, ce qui l’incite à prendre des mesures immédiates. Les interruptions sont classées par ordre de priorité, ce qui signifie que les interruptions ayant une priorité élevée nécessitent une attention immédiate et doivent être traitées en premier.
Exception
Le terme exception est l’abréviation d’événement exceptionnel et fait référence à des événements inattendus qui existent quelque part dans le système, le processeur ou au sein d’un programme et qui requièrent l’attention de l’unité centrale. Les exceptions, comme les interruptions, perturbent le flux normal des instructions, mais se produisent pendant l’exécution du programme et sont exceptionnelles et ne peuvent pas être gérées par le programme lui-même. Par exemple, si vous demandez au processeur de diviser un nombre par zéro, il émettra une exception de division par zéro, ce qui entraînera l’arrêt du calcul ou l’affichage d’un message d’erreur. Lorsqu’une exception se produit, le processeur interrompt le processus en cours et répond immédiatement à l’exception en appelant une fonction spécifique de gestion de l’exception, en fonction du type d’exécution. Les exceptions peuvent être classées en deux catégories : les exceptions détectées par le processeur et les exceptions programmées. Les premières se produisent lorsque l’unité centrale détecte une anomalie quelconque pendant l’exécution d’une instruction, tandis que les secondes sont générées à la demande du programmeur.
Différence entre interruption et exception
Définition
– Les interruptions, comme leur nom l’indique, sont des événements inattendus qui interrompent le flux normal d’exécution des instructions et modifient la séquence des instructions exécutées par un processeur. Le contrôle est transféré au système d’exploitation dès qu’une interruption se produit, l’incitant à prendre des mesures immédiates. Les exceptions, quant à elles, sont des événements exceptionnels qui perturbent le flux normal d’instructions, mais qui se produisent pendant l’exécution du programme, qui sont exceptionnels et qui ne peuvent pas être gérés par le programme lui-même. Les informations relatives à l’exception, y compris sa source et son type, sont stockées dans un objet appelé objet exceptionnel.
Source de l’exception
– Lorsqu’on appuie sur une touche du clavier ou que l’on déplace la souris, cela déclenche des interruptions matérielles qui invitent l’unité centrale à lire la frappe ou le mouvement de la souris. Les interruptions logicielles peuvent être déclenchées par des erreurs d’exécution du programme et sont souvent appelées exceptions. Les exceptions sont générées quelque part dans le système, dans le processeur ou dans un programme qui requiert l’attention de l’unité centrale. Par exemple, si vous ordonnez au processeur de diviser un nombre par zéro, il émettra une exception de division par zéro, ce qui entraînera l’arrêt du calcul ou l’affichage d’un message d’erreur.
Type
– Les interruptions peuvent être généralement classées en interruptions synchrones et asynchrones. Les interruptions synchrones sont déclenchées à chaque fois qu’une instruction est exécutée par le processeur et sont appelées synchrones parce que le processeur ne les émet qu’après avoir terminé l’exécution de l’instruction. Les interruptions asynchrones se produisent lorsqu’une anomalie externe interrompt le processeur. Les exceptions peuvent être classées en deux catégories : les exceptions détectées par le processeur et les exceptions programmées. Les premières se produisent lorsque l’unité centrale de traitement détecte une anomalie quelconque pendant l’exécution d’une instruction, tandis que les secondes sont générées à la demande du programmeur.
Manipulation
– L’interruption est une classe d’exception, et l’exception est principalement divisée en quatre classes : l’interruption, la faute, le piège et l’abandon. Les interruptions et les exceptions interrompent brusquement le flux d’exécution des instructions en cours. Les interruptions sont classées par ordre de priorité, c’est-à-dire que les interruptions ayant une priorité élevée nécessitent une attention immédiate et sont traitées en premier. Lorsqu’une interruption ou une exception est détectée, le processeur exécute un gestionnaire d’interruption ou d’exception tout en suspendant le processus en cours. Le processeur reprend le contrôle du processus interrompu dès que l’exécution du gestionnaire est terminée.
Résumé
Les interruptions et les exceptions sont des événements inattendus qui se produisent quelque part dans le système, le processeur ou dans un programme et qui requièrent l’attention immédiate de l’unité centrale. Ces deux types d’événements interrompent brusquement l’exécution des instructions en cours. Lorsqu’une interruption ou une exception est détectée, le processeur exécute un gestionnaire d’interruption ou d’exception tout en suspendant le processus en cours. Le processeur reprend le contrôle du processus interrompu dès que l’exécution du gestionnaire est terminée. S’il y a plusieurs interruptions, l’interruption ayant la priorité la plus élevée doit être traitée en premier. Une différence essentielle entre les deux conditions est que les interruptions sont déclenchées par des événements externes alors que les exceptions sont déclenchées à l’intérieur du processeur.