Quelle est la différence entre un piège et une interruption?
Ceci est une question d'un examen, j'ai donc besoin de la différence fondamentale.
Quelle est la différence entre un piège et une interruption?
Ceci est une question d'un examen, j'ai donc besoin de la différence fondamentale.
Un piège est une exception dans un processus utilisateur. Elle est causée par une division par zéro ou non valides, l'accès à la mémoire. C'est aussi la manière habituelle pour appeler une routine du noyau (un appel système) parce que ceux exécutés avec une priorité plus élevée que le code de l'utilisateur. La manipulation est synchrone (si le code utilisateur est suspendu et continue par la suite). En un sens, ils sont "actifs" - la plupart du temps, le code prévoit le piège de se produire et s'appuie sur ce fait.
Une interruption est quelque chose générés par le matériel (appareils comme le disque dur, carte graphique, ports d'e/S, etc). Ce sont asynchrones (c'est à dire qu'ils ne se produisent pas au prévisible endroits dans le code de l'utilisateur) ou "passive" depuis le gestionnaire d'interruption a plus qu'à attendre pour eux de se produire par la suite.
Vous pouvez également voir un piège, comme une sorte de PROCESSEUR interne interruption depuis le gestionnaire de piège gestionnaire ressemble à un gestionnaire d'interruption (registres de pile et les pointeurs sont enregistrés, il y a un changement de contexte, l'exécution peut reprendre, dans certains cas, là où il a laissé).
En règle générale, des termes comme des exceptions, des failles, des abandons, des Pièges, et les Interruptions signifient tous la même chose et sont appelés les "Interruptions".
Venir à la différence entre le Piège et de l'Interruption:
Piège: Est un programmeur en cours et devrait le transfert du contrôle d'un gestionnaire particulier la routine. (Par ex: 80x86 INT instruction est un bon exemple)
Où que
L'interruption(Matériel): Est un programme de contrôle de l'interruption basé sur un périphérique externe événement externe à la CPU (ex: appuyer sur une touche du clavier ou un délai d'un minuteur la puce)
Un piège est un type d' interruption spécial appelé couramment interruption logicielle . Une interruption est un terme plus général qui couvre à la fois les interruptions matérielles (interruptions provenant de périphériques matériels) et les interruptions logicielles (interruptions provenant de logiciels, tels que des interruptions ).
Un piège est appelé par des programmes analogues à un code et utilisé, par exemple, pour appeler des routines de système d'exploitation (c'est-à-dire normalement synchrones). Une interruption est appelée par des événements (souvent matériels, comme la carte réseau ayant reçu des données ou le temporisateur de la CPU), et - comme son nom l'indique - interrompt le flux de contrôle normal, car la CPU doit basculer vers la routine de pilote pour gérer l'événement.
Une interruption est généralement déclenchée par un périphérique d'e/S, et les causes de la CPU pour arrêter ce qu'il fait, sauver son contexte, passer à la appropriée routine de service d'interruption, le compléter, de restaurer le contexte, et de continuer l'exécution. Par exemple, un périphérique série peut affirmer que l'interruption de la ligne et ensuite place à un vecteur d'interruption numéro sur le bus de données. Le PROCESSEUR utilise pour obtenir le numéro de série de l'appareil routine de service d'interruption, qu'il s'exécute en tant que ci-dessus.
Un piège est généralement initié par le matériel de PROCESSEUR. Si jamais la situation de déroutement (sur dépassement de capacité arithmétique, par exemple), la CPU s'arrête ce qu'il fait, permet de gagner le contexte, sauts appropriée à la routine d'interruption, la complète, restaure le contexte, et continue l'exécution. Par exemple, si dépassement de pièges sont activés, l'ajout de deux très grands nombres entiers serait la cause de la bit de dépassement de capacité à définir ET le débordement piège de la routine de service pour être lancé.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.