Ich habe eine Idee, wie Interrupts von einer Dual-Core-CPU behandelt werden. Ich habe mich gefragt, wie Interrupt-Handling auf einer Platine mit mehr als einem physischen Prozessor implementiert wird.Wie werden Interrupts von Dual-Prozessor-Maschinen gehandhabt?
Wird eine der Interrupt-Verantwortlichkeiten durch die Konfiguration der physischen Karte festgelegt? Jeder Prozessor muss in der Lage sein, einige Arten von Interrupts, wie z. B. Festplatten-E/A, zu verarbeiten. Es sei denn, es gibt eine Schaltung zum Verwalten und Verteilen von Interrupts an den geeigneten Prozessor? Meine Vermutung ist, dass das Schema prozessorneutral sein muss, damit jeder Prozessor und Kern den Interrupt-Handler ausführen kann.
Wenn ein Kern auf einem Datenträger gelesen wird, wird dieser Kern derjenige sein, der den Interrupt-Handler ausführt, wenn der Datenträger bereit ist?
ich jetzt sehen, dass ein Kern nie auf einem Lese wartet, ein Thread wartet. Wenn der Lesevorgang abgeschlossen ist, scheint es jedoch wahrscheinlich besser zu sein, den neugewonnenen Thread auf dem gleichen Prozessor wie zuvor auszuführen, da die Möglichkeit besteht, dass Daten noch auf diesem Prozessor zwischengespeichert werden. – jeffD