Unterschied zwischen Interrupt und Polling im Betriebssystem

Autor: Laura McKinney
Erstelldatum: 2 April 2021
Aktualisierungsdatum: 11 Kann 2024
Anonim
Interrupt und Polling.flv
Video: Interrupt und Polling.flv

Inhalt


Wir haben viele externe Geräte an die CPU angeschlossen, wie z. B. eine Maus, eine Tastatur, einen Scanner usw. Diese Geräte benötigen auch CPU-Aufmerksamkeit. Angenommen, eine CPU zeigt gerade eine PDF-Datei an und Sie klicken auf das Windows Media Player-Symbol auf dem Desktop. Die CPU hat zwar keine Ahnung, wann ein solches Ereignis eintreten würde, muss jedoch auf solche Eingaben von den E / A-Geräten reagieren. Interrupt und Polling sind die beiden Möglichkeiten, um die von den Geräten generierten Ereignisse zu verarbeiten, die jederzeit auftreten können, wenn die CPU gerade einen anderen Prozess ausführt.

Polling und Interrupt lassen die CPU anhalten, was sie gerade tut, und auf die wichtigere Aufgabe reagieren. Polling und Interrupt unterscheiden sich in vielerlei Hinsicht. Aber der grundlegende Punkt, der Polling und Interrupt unterscheidet, ist der in Umfrage Die CPU überprüft die E / A-Geräte in regelmäßigen Abständen, ob sie einen CPU-Dienst benötigen unterbrechenUnterbricht das E / A-Gerät die CPU und teilt ihr mit, dass sie einen CPU-Dienst benötigt. Ich habe einige Unterschiede zwischen Interrupt und Polling in der folgenden Vergleichstabelle besprochen.


  1. Vergleichstabelle
  2. Definition
  3. Hauptunterschiede
  4. Fazit

Vergleichstabelle

Grundlage für den VergleichUnterbrechenUmfrage
BasicGerät benachrichtigt CPU, dass CPU-Aufmerksamkeit benötigt wird.Die CPU überprüft ständig den Gerätestatus, ob sie die Aufmerksamkeit der CPU benötigt.
MechanismusEin Interrupt ist ein Hardwaremechanismus.Polling ist ein Protokoll.
WartungDer Interrupt-Handler wartet das Gerät.CPU wartet das Gerät.
IndikationDie Unterbrechungsanforderungszeile zeigt an, dass das Gerät gewartet werden muss.Das Comand-Ready-Bit zeigt an, dass das Gerät gewartet werden muss.
ZentralprozessorDie CPU wird nur dann gestört, wenn ein Gerät gewartet werden muss, wodurch CPU-Zyklen gespart werden.Die CPU muss warten und prüfen, ob ein Gerät gewartet werden muss, was viele CPU-Zyklen verschwendet.
AuftretenEin Interrupt kann jederzeit auftreten.Die CPU fragt die Geräte in regelmäßigen Abständen ab.
EffizienzInterrupt wird ineffizient, wenn Geräte die CPU wiederholt unterbrechen.
Die Abfrage wird ineffizient, wenn die CPU selten ein Gerät findet, das betriebsbereit ist.
BeispielLassen Sie die Glocke läuten und öffnen Sie dann die Tür, um zu überprüfen, wer gekommen ist.Öffnen Sie ständig die Tür, um zu überprüfen, ob jemand gekommen ist.


Definition von Interrupt

Ein Interrupt ist ein Hardware-Mechanismus Dadurch kann die CPU erkennen, dass ein Gerät ihre Aufmerksamkeit benötigt. Die CPU hat einen Draht Interrupt-Request-Leitung Dies wird von der CPU nach Ausführung jedes einzelnen Befehls überprüft. Wenn die CPU ein Interrupt-Signal auf der Interrupt-Anforderungsleitung erkennt, stoppt die CPU ihre derzeit ausgeführte Aufgabe und reagiert auf den Interrupt durch das E / A-Gerät, indem die Steuerung an übergeben wird Interrupt-Handler. Der Interrupt-Handler löst den Interrupt durch Wartung des Geräts.

Die CPU ist sich zwar nicht bewusst, wann ein Interrupt auftreten würde, da er jederzeit auftreten kann, muss jedoch bei jedem Auftreten auf den Interrupt reagieren.

Wenn der Interrupt-Handler die Ausführung des Interrupts beendet hat, dann die CPU nimmt wieder auf die Ausführung der angehaltenen Task für die Reaktion auf den Interrupt. Software, Hardware-, Benutzer, Irgendein Fehler im Programmusw. können auch einen Interrupt erzeugen. Interrupts Behandlung der Natur der CPU führt zu Multitaskingein Benutzer kann eine Anzahl von verschiedenen Aufgaben gleichzeitig ausführen.

Wenn mehr als ein Interrupt an die CPU gesendet wird, hilft der Interrupt-Handler bei der Verwaltung der Interrupts, die auf die Verarbeitung warten. Als Interrupt-Handler bekommt Ausgelöst durch den Empfang eines Interrupts wird es priorisiert die Interrupts warten darauf von der CPU abgearbeitet zu werden und ordnen sie in ein Warteschlange gewartet werden.

Definition von Polling

Wie wir in Interrupts gesehen haben, kann der Eingang vom E / A-Gerät jederzeit ankommen und die CPU auffordern, ihn zu verarbeiten. Polling ist ein Protokoll das benachrichtigt die CPU, dass ein Gerät seine Aufmerksamkeit benötigt. Im Gegensatz zu Interrupt, bei dem das Gerät der CPU mitteilt, dass es eine CPU-Verarbeitung benötigt, wird beim Abfragen die CPU beibehalten fragen das E / A-Gerät, ob es CPU-Verarbeitung benötigt.

Die CPU ständig Testen Sie jedes angeschlossene Gerät, um festzustellen, ob ein Gerät CPU-Aufmerksamkeit benötigt. Jeder Gerät hat ein befehlsbereit Bit, das den Status dieses Geräts anzeigt, d. h. ob es einen Befehl hat, der von der CPU ausgeführt werden soll oder nicht. Wenn das Befehlsbit gesetzt ist 1, dann muss noch ein Befehl ausgeführt werden, wenn das Bit ist 0, dann hat es keine befehle. Zentralprozessor hat ein beschäftigt bisschen Dies gibt den Status der CPU an, unabhängig davon, ob sie ausgelastet ist oder nicht. Wenn das Busy-Bit gesetzt ist 1, dann ist es damit beschäftigt, den Befehl eines Geräts auszuführen, andernfalls ist es beschäftigt 0.

Algorithmus für die Abfrage

  • Wenn ein Gerät einen Befehl hat, der von der CPU ausgeführt werden soll, prüft es kontinuierlich das Busy-Bit der CPU, bis es gelöscht wird (0).
  • Wenn das Busy-Bit gelöscht wird, setzt das Gerät das Write-Bit in sein Befehlsregister und schreibt ein Byte in das Data-Out-Register.
  • Jetzt setzt das Gerät (1) das befehlsbereite Bit.
  • Wenn die CPU das befehlsbereite Bit des Geräts prüft und feststellt, dass es gesetzt ist (1), setzt sie (1) das Besetzt-Bit.
  • Die CPU liest dann das Befehlsregister des Geräts und führt den Befehl des Geräts aus.
  • Nach der Befehlsausführung löscht die CPU das Befehlsbereitschaftsbit, das Fehlerbit des Geräts (0), um die erfolgreiche Ausführung des Befehls des Geräts anzuzeigen, und löscht ferner das Besetztbit (0), um anzuzeigen, dass die CPU zur Ausführung frei ist der Befehl eines anderen Geräts.
  1. In einer Unterbrechung benachrichtigt das Gerät die CPU, dass es gewartet werden muss, während beim Abrufen der CPU wiederholt überprüft wird, ob ein Gerät gewartet werden muss.
  2. Interrupt ist ein Hardware- Mechanismus als CPU hat einen Draht, Interrupt-Request-Leitung welches Signal dieser Interrupt aufgetreten ist. Auf der anderen Seite ist Polling a Protokoll das hält die Überprüfung Steuerbits zu benachrichtigen, ob ein Gerät etwas auszuführen hat.
  3. Handler unterbrechen behandelt die von den Geräten erzeugten Interrupts. Auf der anderen Seite bei der Abstimmung, Zentralprozessor Wartet das Gerät, wenn sie es benötigen.
  4. Interrupts werden durch das signalisiert Interrupt-Request-Leitung. Jedoch, Befehlsbereit Bit zeigt an, dass das Gerät gewartet werden muss.
  5. In Interrupts wird die CPU nur dann gestört, wenn ein Gerät sie unterbricht. Andererseits verschwendet die CPU beim Abrufen viele CPU-Zyklen, indem sie wiederholt das befehlsbereite Bit jedes Geräts überprüft.
  6. Ein Interrupt kann bei auftreten jederzeit Während die CPU das Gerät auf dem abfragt regelmäßige Abstände.
  7. Die Abfrage wird ineffizient, wenn die CPU das Gerät weiterhin abfragt und selten ein Gerät zur Wartung bereit findet. Andererseits werden Interrupts ineffizient, wenn die Geräte die CPU-Verarbeitung wiederholt unterbrechen.

Fazit:

Sowohl Polling als auch Interrupts kümmern sich effizient um die E / A-Geräte. Sie können jedoch unter bestimmten Bedingungen, wie oben erläutert, ineffizient werden.