1

sei angenommen, dass ein Interrupt in Unicore Prozessor, der die Steuerung an ISR übergeben wird, während die CPU BH ausgeführt wird

Als allgemeine Praxis aufgetreten ist der Scheduler deaktiviert ist und die CPU das ISR

Die ISR deaktiviert dient der aktuelle IRQ und plant die untere Hälfte (tasklet hier) für die verzögerte Arbeit.

Nachdem ISR geliefert wurde (IRQ ist aktiviert) und jetzt bekam der Prozessor die Änderung, um die geplante untere Hälfte zu bedienen.

Während der Interrupt erneut auftritt, wird der aktuell laufende BH vorbelegt und die CPU führt den neuen ISR aus.

In diesem Fall, die zum Umschalten der Steuerung von BH verantwortlich ist, wird Prozessor auf der Annahme, dass der Scheduler deaktiviert ist und das System ist unicore

Meine Frage an ISR basieren.

+0

'In diesem Fall, wer ist verantwortlich für die Umschaltung der Steuerung von BH zu ISR' - unterbrechen zwingt Prozessor wie üblich, ISR auszuführen. – Tsyvarev

+0

Was für ein BH? ---- – user3344003

+0

@ user3344003 'BH' ist 'untere Hälfte'. Es handelt sich um einen Code zum Warten von Interrupt-Daten, die mit einer niedrigeren Priorität ausgeführt werden. Es wird oft als verzögerter Prozeduraufruf bezeichnet. –

Antwort

0

Die Übergabe der Kontrolle an die Interrupt-Handler erfolgt nicht durch den Prozess-Scheduler. Dies ist ein Hardware-Mechanismus. In x86 werden die Interrupt-Handling-Routinen von der IDT angegeben, die der Kernel normalerweise zu Beginn einrichtet. Wenn Sie sich wirklich für den Mechanismus interessieren, können Sie weiterlesen this und this oder das Entwicklerhandbuch Ihrer Prozessorarchitektur.