Ich bin nicht sicher, ob ich das Konzept von Hardware- und Software-Interrupts verstehe.
Wenn ich das richtig verstehe, besteht der Zweck eines Hardware-Interrupts darin, die CPU auf sich aufmerksam zu machen, was Teil der Implementierung von CPU-Multitasking ist.
- Was gibt dann einen Hardware-Interrupt aus? Handelt es sich um den Hardwaretreiberprozess?
- Wenn ja, wo läuft der Hardwaretreiberprozess? Wenn es auf der CPU läuft, muss es doch nicht durch einen Hardware-Interrupt auf die CPU aufmerksam werden, oder? Läuft es also woanders?
- Unterbricht ein Hardware-Interrupt die CPU direkt oder kontaktiert er zuerst den Kernel-Prozess und kontaktiert / unterbricht der Kernel-Prozess dann die CPU?
Andererseits denke ich, dass der Zweck eines Software-Interrupts darin besteht, dass ein Prozess, der gerade auf einer CPU läuft, einige Ressourcen anfordert.
- Was sind die Ressourcen? Sind sie alle in Form von laufenden Prozessen? Stellen CPU-Treiber- und Speichertreiberprozesse beispielsweise CPU- und Speicherressourcen dar? Stellt der Treiberprozess der E / A-Geräte E / A-Ressourcen dar? Sind andere laufende Prozesse, mit denen der Prozess kommunizieren möchte, auch Ressourcen?
- Wenn ja, kontaktiert ein Software-Interrupt die Prozesse (die die Ressourcen darstellen) indirekt über den Kernel-Prozess? Ist es richtig, dass ein Software-Interrupt im Gegensatz zu einem Hardware-Interrupt niemals direkt die CPU unterbricht, sondern stattdessen den Kernel-Prozess unterbricht / kontaktiert?