Maybaygiare.org

Blog Network

GeeksforGeeks

Interrupt ist ein Signal, das von Hardware oder Software ausgegeben wird, wenn ein Prozess oder ein Ereignis sofortige Aufmerksamkeit benötigt. Es warnt den Prozessor vor einem Prozess mit hoher Priorität, der eine Unterbrechung des aktuellen Arbeitsprozesses erfordert. In E / A-Geräten ist eine der Bus-Steuerleitungen für diesen Zweck vorgesehen und wird als Interrupt-Service-Routine (ISR) bezeichnet.

Wenn ein Gerät einen Interrupt auslöst, sagen wir Prozess i , vervollständigt der Prozessor zuerst die Ausführung des Befehls i. Dann lädt er den Programmzähler (PC) mit der Adresse des ersten Befehls des ISR. Vor dem Laden des Programmzählers mit der Adresse wird die Adresse des unterbrochenen Befehls an einen temporären Speicherort verschoben. Daher kann der Prozessor nach Behandlung des Interrupts mit Prozess i + 1 fortfahren.

Während der Prozessor die Interrupts verarbeitet, muss er das Gerät darüber informieren, dass seine Anforderung erkannt wurde, damit das Senden des Interrupt-Anforderungssignals gestoppt wird. Außerdem erhöht das Speichern der Register, damit der unterbrochene Prozess in Zukunft wiederhergestellt werden kann, die Verzögerung zwischen dem Zeitpunkt, zu dem ein Interrupt empfangen wird, und dem Beginn der Ausführung des ISR. Dies nennt man Interrupt-Latenz.

Hardware-Interrupts:
Bei einem Hardware-Interrupt werden alle Geräte an die Interrupt-Anforderungsleitung angeschlossen. Für alle n Geräte wird eine einzige Anforderungszeile verwendet. Um einen Interrupt anzufordern, schließt ein Gerät seinen zugehörigen Schalter. Wenn ein Gerät Interrupts anfordert, ist der Wert von INTR das logische ODER der Anforderungen von einzelnen Geräten.

Abfolge von Ereignissen, die an der Behandlung eines IRQ beteiligt sind:

  1. Geräte lösen einen IRQ aus.
  2. Prozessor unterbricht das aktuell ausgeführte Programm.
  3. Das Gerät wird darüber informiert, dass seine Anforderung erkannt wurde, und das Gerät deaktiviert das Anforderungssignal.
  4. Die angeforderte Aktion wird ausgeführt.
  5. Interrupt ist aktiviert und das unterbrochene Programm wird fortgesetzt.

Umgang mit mehreren Geräten:
Wenn mehr als ein Gerät ein Interrupt-Anforderungssignal auslöst, werden zusätzliche Informationen benötigt, um zu entscheiden, welches Gerät zuerst berücksichtigt werden soll. Die folgenden Methoden werden verwendet, um zu entscheiden, welches Gerät ausgewählt werden soll: Polling, Vektorisierte Interrupts und Interrupt-Verschachtelung. Diese werden wie folgt erläutert.

  1. Polling:
    Beim Polling ist das erste Gerät, bei dem das IRQ-Bit gesetzt ist, das Gerät, das zuerst gewartet werden soll. Entsprechende ISR wird aufgerufen, um dasselbe zu bedienen. Es ist einfach zu implementieren, aber es wird viel Zeit verschwendet, indem das IRQ-Bit aller Geräte abgefragt wird.
  2. Vektorisierte Interrupts:
    Bei vektorisierten Interrupts identifiziert sich ein Gerät, das einen Interrupt anfordert, direkt, indem es einen speziellen Code über den Bus an den Prozessor sendet. Dadurch kann der Prozessor das Gerät identifizieren, das den Interrupt generiert hat. Der spezielle Code kann die Startadresse des ISR sein oder dort, wo sich der ISR im Speicher befindet, und wird als Interruptvektor bezeichnet.
  3. Interrupt Nesting:
    Bei dieser Methode ist das E/ A-Gerät in einer Prioritätsstruktur organisiert. Daher wird eine Interruptanforderung von einer Vorrichtung höherer Priorität erkannt, während eine Interruptanforderung von einer Vorrichtung niedrigerer Priorität nicht erkannt wird. Um dies zu implementieren, muss jeder Prozess / jedes Gerät (auch der Prozessor). Der Prozessor akzeptiert Interrupts nur von Geräten / Prozessen, die eine höhere Priorität haben.

Die Priorität des Prozessors ist in einigen Bits von PS (Process Status Register) codiert. Es kann durch Programmanweisungen geändert werden, die in die PS schreiben. Der Prozessor befindet sich nur während der Ausführung von Betriebssystemroutinen im überwachten Modus. Es wechselt in den Benutzermodus, bevor Anwendungsprogramme ausgeführt werden.

Achtung Leser! Hör jetzt nicht auf zu lernen. Holen Sie sich alle wichtigen CS Theorie Konzepte für SDE Interviews mit dem CS Theorie Kurs zu einem studentenfreundlichen Preis und werden Industrie bereit.

Artikel-Tags :

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.