Différence Entre Appel Système Et Interruption

Différence Entre Appel Système Et Interruption
Différence Entre Appel Système Et Interruption

Vidéo: Différence Entre Appel Système Et Interruption

Vidéo: Différence Entre Appel Système Et Interruption
Vidéo: Cours Archi 2 Les interruptions (P1) 2024, Novembre
Anonim

Appel système vs interruption

Un processeur typique exécute les instructions une par une. Mais il peut y avoir des occasions où le processeur doit s'arrêter temporairement et maintenir l'instruction en cours et exécuter un autre programme ou segment de code (résidant à un autre endroit). Après cela, le processeur revient à l'exécution normale et reprend là où il s'était arrêté. Un appel système et une interruption sont de telles occasions. Un appel système est un appel à un sous-programme intégré au système. Une interruption est une interruption du contrôle de programme provoquée par des événements matériels externes.

Qu'est-ce qu'un appel système?

Les appels système fournissent aux programmes exécutés sur l'ordinateur une interface pour communiquer avec le système d'exploitation. Lorsqu'un programme a besoin de demander un service (pour lequel il n'a lui-même pas l'autorisation) du noyau du système d'exploitation, il utilise un appel système. Les processus de niveau utilisateur n'ont pas les mêmes autorisations que les processus interagissant directement avec le système d'exploitation. Par exemple, pour communiquer avec un périphérique d'E / S externe ou pour interagir avec tout autre processus, un programme doit utiliser des appels système.

Qu'est-ce qu'une interruption?

Au cours de l'exécution normale d'un programme informatique, des événements peuvent entraîner l'arrêt temporaire du processeur. Des événements comme celui-ci sont appelés interruptions. Les interruptions peuvent être causées par des défauts logiciels ou matériels. Les interruptions matérielles sont appelées (simplement) des interruptions, tandis que les interruptions logicielles sont appelées des exceptions ou des interruptions. Une fois qu'une interruption (logicielle ou matérielle) est déclenchée, le contrôle est transféré à un sous-programme spécial appelé ISR (Interrupt Service Routine) qui peut gérer les conditions qui sont déclenchées par l'interruption.

Comme mentionné ci-dessus, le terme Interruption est généralement réservé aux interruptions matérielles. Ce sont des interruptions de contrôle de programme causées par des événements matériels externes. Ici, externe signifie externe à la CPU. Les interruptions matérielles proviennent généralement de nombreuses sources différentes telles que la puce de minuterie, les périphériques (claviers, souris, etc.), les ports d'E / S (série, parallèle, etc.), les lecteurs de disque, l'horloge CMOS, les cartes d'extension (carte son, vidéo carte, etc.). Cela signifie que les interruptions matérielles ne se produisent presque jamais en raison d'un événement lié au programme en cours d'exécution. Par exemple, un événement comme une pression de touche sur le clavier par l'utilisateur, ou une temporisation matérielle interne peut déclencher ce type d'interruption et peut informer le processeur qu'un certain périphérique nécessite une certaine attention. Dans une situation comme celle-là, le CPU arrêtera tout ce qu'il faisait (c'est-à-dire met en pause le programme en cours),fournit le service requis par l'appareil et reviendra au programme normal.

Quelle est la différence entre l'appel système et l'interruption?

L'appel système est un appel à un sous-programme intégré au système, tandis que l'interruption est un événement qui oblige le processeur à suspendre temporairement l'exécution en cours. Cependant, une différence majeure est que les appels système sont synchrones, alors que les interruptions ne le sont pas. Cela signifie que les appels système se produisent à une heure fixe (généralement déterminée par le programmeur), mais des interruptions peuvent survenir à tout moment en raison d'un événement inattendu tel qu'une touche du clavier par l'utilisateur. Par conséquent, chaque fois qu'un appel système se produit, le processeur n'a qu'à se souvenir de l'endroit où retourner, mais en cas d'interruption, le processeur doit se souvenir à la fois de l'endroit où revenir et de l'état du système. Contrairement à un appel système, une interruption n'a généralement rien à voir avec le programme en cours.

Recommandé: