Différence entre l'interruption et l'exception
- 1788
- 495
- Sarah Poirier
L'interruption et l'exception sont deux concepts différents, mais ils sont similaires dans un sens qu'ils font que le CPU a mis un terme à l'écoulement normal d'exécution des instructions afin d'exécuter un autre programme dans l'espace du noyau pour les gérer. La principale différence est la façon dont ils gèrent les événements inattendus qui se produisent quelque part dans le système, le processeur ou dans le programme lui-même.
Interrompre
L'interruption est un signal envoyé au CPU à partir de périphériques externes attachés à l'ordinateur ou à un programme à partir du système qui nécessite que le système d'exploitation intervienne dans le processus en cours. Les interruptions, comme leur nom l'indique, sont des événements brusques qui mettent le flux normal d'exécution des instructions. Cela invite le système d'exploitation à prendre des mesures immédiates sur ce qu'il faut faire ensuite. Ces événements inattendus sont généralement liés à un appareil d'E / S, qui traite principalement du monde extérieur. Par exemple, lorsque vous appuyez sur une touche du clavier ou déplacez la souris, elle déclenche des interruptions matérielles qui font lire le CPU à la touche ou le mouvement de la souris. Ainsi, lorsqu'une interruption se produit, le CPU gère une «routine de manutention d'interruption» spéciale ou un «gestionnaire d'interruption» pour s'occuper de l'événement qui l'a provoqué en premier lieu. Le contrôle est transféré au système d'exploitation dès qu'une interruption se produit, ce qui l'a incité à prendre des mesures immédiates. Les interruptions sont prioritaires de signification Les interruptions avec une grande priorité nécessitent une attention immédiate et doivent être gérées en premier.
Exception
Le terme exception est abrégé pour des événements exceptionnels et fait référence à des événements inattendus qui existent quelque part dans le système, le processeur ou dans un programme qui nécessite l'attention du CPU. Les exceptions, comme les interruptions, perturbent le flux normal d'instructions mais se produisent pendant l'exécution du programme qui sont exceptionnelles et qui ne peuvent pas être gérées dans le programme lui-même. Par exemple, si vous commandez au processeur de diviser un nombre de zéro, il donnera une exception divisée par zéro, ce qui fait que l'ordinateur arrête le calcul ou affiche un message d'erreur. Lorsqu'une exception se produit, le CPU interrompt le processus en cours et répond immédiatement à l'exception en appelant une fonction de gestionnaire d'exception spécifique, selon le type d'exécution. Les exceptions peuvent être généralement classées comme exceptions détectées par le processeur et exceptions programmées. Le premier se produit lorsque le CPU détecte toute sorte d'anomalie lors de l'exécution d'une instruction, tandis que le second est généré à la demande du programmeur.
Différence entre l'interruption et l'exception
Définition
- Les interruptions, comme leur nom l'indique, sont des événements inattendus qui mettent l'arrêt du flux normal d'instructions, modifiant la séquence d'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, ce qui l'a incité à prendre des mesures immédiates. Les exceptions, en revanche, sont des événements exceptionnels qui perturbent le flux normal d'instructions mais se produisent lors de l'exécution du programme exceptionnelle et qui ne peuvent pas être gérés dans le programme lui-même. Les informations sur l'exception comprenant sa source et son type sont stockées dans un objet appelé objet exceptionnel.
Source
- Lorsqu'une touche est appuyée sur un clavier ou que la souris est déplacée, elle déclenche des interruptions matérielles qui invitent le processeur à lire sur le mouvement de la touche ou de la souris. Les interruptions logicielles peuvent être déclenchées par les erreurs d'exécution du programme et sont souvent appelées exceptions. Des exceptions sont générées quelque part dans le système, le processeur ou dans un programme qui nécessite l'attention du CPU. Par exemple, si vous commandez au processeur de diviser un nombre de zéro, il donnera une exception divisée par zéro, ce qui fait que l'ordinateur arrête le calcul ou affiche un message d'erreur.
Taper
- Les interruptions peuvent être généralement classées comme interruptions synchrones et asynchrones. Les interruptions synchrones sont déclenchées chaque fois qu'une instruction est exécutée par le CPU et est appelée synchrone parce que le CPU ne les émet qu'après terminer l'exécution de l'instruction. Des interruptions asynchrones se produisent lorsqu'une anomalie externe interrompt le processeur. Les exceptions peuvent être généralement classées comme exceptions détectées par le processeur et exceptions programmées. Le premier se produit lorsque le CPU détecte toute sorte d'anomalie lors de l'exécution d'une instruction, tandis que le second est généré à la demande du programmeur.
Manutention
- L'interruption est une classe d'exception, et l'exception est principalement divisée en quatre classes: interruption, faute, piège et avorter. Les interruptions et les exceptions à la fois apportent brusquement le flux actuel d'exécution des instructions. Les interruptions sont prioritaires de signification Les interruptions avec une grande priorité nécessitent une attention immédiate et sont gérées en premier. Lorsqu'une interruption ou une exception est détectée, le processeur a exécuté un gestionnaire d'interruption ou un gestionnaire d'exceptions lors de la suspension du processus en cours. Le processeur reprend le contrôle du processus interrompu dès que l'exécution du gestionnaire est effectuée.
Interrompre vs. Exception: graphique de comparaison
Résumé
Les interruptions et les exceptions sont des événements inattendus se produisent quelque part dans le système, le processeur ou dans un programme qui nécessite une attention immédiate du CPU. Les deux apportent brusquement le flux actuel d'exécution des instructions. Lorsqu'une interruption ou une exception est détectée, le processeur a exécuté un gestionnaire d'interruption ou un gestionnaire d'exceptions lors de la suspension du processus en cours. Le processeur reprend le contrôle du processus interrompu dès que l'exécution du gestionnaire est effectuée. S'il y a plusieurs interruptions, l'interruption avec la priorité la plus élevée doit être les greffes en premier. Une différence clé entre les deux conditions est que les interruptions sont déclenchées par des événements externes tandis que les exceptions sont déclenchées à partir du processeur.