Recommandé, 2024

Choix De L'Éditeur

Différence entre interruption et interrogation dans un système d'exploitation

De nombreux périphériques externes sont connectés au processeur, comme une souris, un clavier, un scanner, une imprimante, etc. Ces périphériques ont également besoin de l'attention du processeur. Supposons qu'un processeur est occupé à afficher un fichier PDF et que vous cliquez sur l'icône du lecteur multimédia de la fenêtre sur le bureau. Bien que la CPU n’ait aucune idée du moment où un tel événement se produirait, elle doit cependant répondre à de telles entrées provenant des périphériques d’E / S. Interruption et interrogation sont les deux moyens de gérer les événements générés par les périphériques qui peuvent survenir à tout moment lorsque le processeur est occupé à exécuter un autre processus.

Les interrogations et les interruptions permettent au processeur d'arrêter ce qu'il est en train de faire et de répondre à la tâche la plus importante. Polling et Interrupt sont différents l'un de l'autre à bien des égards. Mais le point fondamental qui distingue les opérations d' interrogation et d'interruption réside dans le fait que, dans l' interrogation de la CPU, il vérifie régulièrement si les périphériques d'E / S ont besoin d'un service de processeur, tandis que dans l' interruption, le périphérique d'E / S interrompt la CPU et indique à la CPU qu'elle nécessite un service de CPU. . J'ai discuté de certaines différences entre l'interruption et l'interrogation dans le tableau de comparaison ci-dessous, veuillez regarder.

Tableau de comparaison

Base de comparaisonInterrompreVote
De baseLe périphérique informe le processeur qu'il a besoin de son attention.Le processeur vérifie en permanence l'état de l'appareil s'il a besoin de son attention.
MécanismeUne interruption est un mécanisme matériel.Le vote est un protocole.
EntretienLe gestionnaire d'interruption dessert le périphérique.La CPU dessert le périphérique.
IndicationLa ligne de demande d'interruption indique que le périphérique doit être réparé.Le bit Comand-ready indique que le périphérique doit être réparé.
CPULe processeur n'est perturbé que lorsqu'un périphérique a besoin d'être réparé, ce qui enregistre des cycles de processeur.Le processeur doit attendre et vérifier si un périphérique a besoin d'une maintenance qui gaspille beaucoup de cycles de processeur.
OccurrenceUne interruption peut survenir à tout moment.La CPU interroge les périphériques à intervalles réguliers.
EfficacitéL'interruption devient inefficace lorsque les périphériques continuent d'interrompre le processeur à plusieurs reprises.
La scrutation devient inefficace lorsque la CPU trouve rarement un périphérique prêt à être utilisé.
ExempleLaissez la cloche sonner puis ouvrez la porte pour vérifier qui est venu.Continuez constamment à ouvrir la porte pour vérifier si quelqu'un est venu.

Définition d'interruption

Une interruption est un mécanisme matériel qui permet au processeur de détecter qu'un périphérique a besoin de son attention. La CPU a une ligne de demande d'interruption de fil qui est vérifiée par la CPU après l'exécution de chaque instruction. Lorsque la CPU détecte un signal d'interruption sur la ligne de demande d'interruption, elle arrête la tâche en cours d'exécution et répond à l'envoi d'interruption par le périphérique d'E / S en transmettant le contrôle au gestionnaire d'interruptions . Le gestionnaire d'interruptions résout l'interruption en réparant le périphérique.

Bien que le processeur ne soit pas informé du moment où une interruption se produirait, cela doit se produire à tout moment, mais il doit y répondre à chaque fois.

Lorsque le gestionnaire d'interruption a fini d'exécuter l'interruption, la CPU reprend l'exécution de la tâche arrêtée pour répondre à l'interruption. Le logiciel, le matériel, l' utilisateur, certaines erreurs dans le programme, etc. peuvent également générer une interruption. Les interruptions de traitement de la nature de la CPU conduisent au multitâche, c’est-à-dire qu’un utilisateur peut effectuer plusieurs tâches différentes simultanément.

Si plusieurs interruptions sont envoyées à la CPU, le gestionnaire d'interruptions vous aide à gérer les interruptions en attente de traitement. Lorsque le gestionnaire d'interruptions est déclenché par la réception d'une interruption, il donne la priorité aux interruptions en attente de traitement par la CPU et les organise dans une file d'attente pour être traitées.

Définition de Polling

Comme nous l'avons vu dans les interruptions, l'entrée du périphérique d'E / S peut arriver à tout moment en demandant à la CPU de la traiter. La polling est un protocole qui informe le processeur qu'un périphérique a besoin de son attention. Contrairement à l'interruption, où le périphérique indique au processeur qu'il a besoin d'un traitement, le processeur interrogé continue de demander au périphérique d'E / S s'il a besoin d'un traitement.

La CPU teste en permanence chaque périphérique connecté pour détecter si un périphérique nécessite une intervention de la part de la CPU. Chaque appareil a un bit de commande qui indique l’état de cet appareil, c’est-à-dire s’il a une commande à exécuter par la CPU ou non. Si le bit de commande est défini sur 1, il doit alors exécuter une commande. Si le bit est égal à 0, il ne comporte aucune commande. La CPU a un bit occupé qui indique l'état de la CPU, qu'elle soit occupée ou non. Si le bit occupé est défini sur 1, il est occupé à exécuter la commande d'un périphérique, sinon il vaut 0 .

Algorithme de scrutation

  • Lorsqu'un périphérique a une commande à exécuter par la CPU, celui-ci vérifie en permanence le bit occupé de la CPU jusqu'à ce qu'il soit effacé (0).
  • Lorsque le bit occupé est effacé, le périphérique définit le bit d'écriture dans son registre de commande et écrit un octet dans le registre de sortie de données.
  • Maintenant, l'appareil active (1) le bit de commande.
  • Lorsque la CPU vérifie le bit de commande prêt du périphérique et la trouve définie (1), elle définit (1) son bit occupé.
  • La CPU lit ensuite le registre de commande du périphérique et exécute la commande du périphérique.
  • Après exécution de la commande, la CPU efface (0) le bit de commande prêt, le bit d'erreur du périphérique pour indiquer l'exécution réussie de la commande du périphérique, puis efface (0) son bit occupé pour indiquer également que la CPU est libre de s'exécuter. la commande d'un autre appareil.

Principales différences entre l'interruption et l'interrogation dans un système d'exploitation

  1. En cas d'interruption, le périphérique notifie à la CPU qu'il doit être réparé, tandis que dans la scrutation, le CPU vérifie si un périphérique a besoin d'être réparé.
  2. L'interruption est un mécanisme matériel car la CPU a une ligne de demande d'interruption filaire qui signale qu'une interruption s'est produite. Par contre, Polling est un protocole qui vérifie constamment les bits de contrôle pour indiquer si un périphérique doit exécuter quelque chose.
  3. Le gestionnaire d'interruptions gère les interruptions générées par les périphériques. D'autre part, en interrogation, la CPU entretient le périphérique quand ils en ont besoin.
  4. Les interruptions sont signalées par la ligne de demande d'interruption . Cependant, le bit Command-ready indique que le périphérique doit être réparé.
  5. Dans les interruptions, le processeur n'est perturbé que lorsqu'un périphérique l'interrompt. D'autre part, lors de l'interrogation, le processeur gaspille de nombreux cycles de processeur en vérifiant de manière répétée le bit de commande prête de chaque périphérique.
  6. Une interruption peut se produire à tout moment, l’UC continuant à interroger le périphérique à intervalles réguliers .
  7. La scrutation devient inefficace lorsque la CPU continue à interroger le périphérique et trouve rarement un périphérique prêt à être réparé. D'autre part, les interruptions deviennent inefficaces lorsque les périphériques continuent d'interrompre le traitement du processeur à plusieurs reprises.

Conclusion:

Les interrogations et les interruptions sont efficaces pour assister les périphériques d'E / S. Mais ils peuvent devenir inefficaces à certaines conditions, comme indiqué ci-dessus.

Top