le différence principale entre piège et interruption est que l'interruption est déclenchée par un programme utilisateur pour appeler la fonctionnalité du système d'exploitation, tandis que l'interruption est déclenchée par un périphérique matériel pour permettre au processeur d'exécuter la routine de traitement d'interruption correspondante.
Un système d'exploitation est piloté par les événements. Un événement peut survenir soudainement lors de l'exécution d'un programme. Cela déclenchera l'exécution du système d'exploitation. Cela changera le mode utilisateur en mode noyau. Après l'exécution du système d'exploitation, le contrôle est renvoyé au programme d'origine. Les pièges et les interruptions sont deux types d’événements. Une interruption est déclenchée par un programme utilisateur alors qu'une interruption est générée par un périphérique matériel tel qu'un clavier, une minuterie, etc. Une interruption passe le contrôle au gestionnaire d'interruptions et l'interruption passe le contrôle à un gestionnaire d'interruptions. Après avoir exécuté le gestionnaire, le contrôle revient au programme d'origine..
1. Qu'est-ce qu'un piège?
- Définition, fonctionnalité
2. Qu'est-ce que l'interruption
- Définition, fonctionnalité
3. Relation entre le piège et l'interruption
- Schéma d'association
4. Différence entre piège et interruption
- Comparaison des différences clés
Interruption, Système d'exploitation, Piège
Le programme utilisateur lève des interruptions pour appeler une fonctionnalité du système d'exploitation. Supposons que le programme utilisateur nécessite d’imprimer quelque chose à l’écran. Il invoquerait une interruption et le système d'exploitation procédera à l'écriture de ces données sur l'écran. Les pièges sont principalement utilisés pour mettre en œuvre des appels système.
Figure 1: Types d'événements
Un exemple est comme suit. Supposons qu’il existe une instruction sous la forme printf (“% s \ n”, str); Il invoquera la fonction write pour imprimer la sortie sur la sortie standard qui est le moniteur. Cela invoquera un piège et transmettra le contrôle au gestionnaire de pièges. Ensuite, le mode utilisateur passe en mode noyau et le système d'exploitation exécute l'appel en écriture. Une fois la tâche terminée, le contrôle est renvoyé du mode noyau au mode utilisateur..
Une interruption est déclenchée par un périphérique matériel. Un périphérique USB, une carte réseau ou un clavier peuvent provoquer des interruptions. Les interruptions sont asynchrones. Par conséquent, ils peuvent survenir à tout moment.
Un processeur a une broche dédiée appelée broche d'interruption. Cela s'appelle aussi une broche INT. Les périphériques tels que les claviers sont connectés au processeur via la broche d'interruption. Lorsqu'on appuie sur une touche, une interruption est générée. Le processeur passera du processus en cours d'exécution à une routine de traitement d'interruptions. Dans ce scénario, la routine du gestionnaire d'interruptions du clavier est appelée. Une fois la routine de traitement des interruptions terminée, le processeur revient au programme en cours d’exécution. En gros, lorsqu'une interruption survient, le processeur bascule le contexte et exécute le gestionnaire d'interruptions. Après l'achèvement, il revient à l'état précédent.
Un processeur a une seule broche d'interruption, mais il existe plusieurs périphériques matériels. Le contrôleur d'interruption permet de partager la broche d'interruption unique entre plusieurs broches. Le processeur communiquera avec le contrôleur d'interruption pour déterminer le périphérique qui a réellement généré l'interruption. En fonction de cela, le processeur exécutera le programme de traitement d'interruption correspondant. Il peut s'agir d'un programme de minuterie, USB ou d'un gestionnaire d'interruptions clavier..
Outre les interruptions et les interruptions, il existe un autre type d'événement appelé exception. Ils sont générés automatiquement par le processeur. Les exceptions se divisent en défauts et en avortements. Un défaut est une erreur récupérable alors qu'un abandon est une erreur difficile à gérer.
Une interruption est générée par une instruction du programme utilisateur, tandis qu'une interruption est générée par des périphériques matériels..
De plus, une interruption appelle la fonctionnalité du système d'exploitation. Il transfère le contrôle au gestionnaire de pièges. Une interruption déclenche le processeur pour exécuter le programme de traitement d'interruption correspondant.
De plus, une interruption est synchrone et peut arriver après l'exécution d'une instruction alors qu'une interruption est asynchrone et peut survenir à l'exécution d'une instruction..
Une interruption est également appelée une interruption logicielle, tandis qu'une interruption est également appelée une interruption matérielle..
Les interruptions et les interruptions sont deux types d’événements. La différence entre l'interruption et l'interruption réside dans le fait que l'interruption est déclenchée par un programme utilisateur pour appeler la fonctionnalité du système d'exploitation, tandis que l'interruption est déclenchée par un périphérique matériel pour permettre au processeur d'exécuter la routine de traitement d'interruption correspondante..
1. Système d'exploitation n ° 14 Qu'est-ce qu'une interruption? Types d'interruptions, Xoviabcs, 31 août 2017, disponible ici.
2. Interruptions logicielles du système d'exploitation n ° 16 | Appels système en xv6, Xoviabcs, 1er septembre 2017, disponible ici.