Hallo Björn,
danke fĂŒr die schnelle Antwort und ein frohes neues erstmal
Ebenso
Wobei Interrupt und Exception nicht exakt das
selbe sind.
Technisch gesehen doch schon, oder irre ich mich?
Eine Exception ist ja (soweit ich das verstanden habe) ein
âspeziellerâ InterruptâŠoder nich?
Du schreibst es ja selber. Es ist eine spezielle Form von Interrupt. Das heisst es gibt auch Interrupts die keine Exception darstellen.
Da scheint mir ein Fehler drin zu sein. Asynchrone Interrupts
können nur von externen IO Quellen ausgelöst werden. Ein
Prozess der gerade nicht rechnet kann natĂŒrlich keinen Fehler
haben. Der wartet bestenfalls darauf bald einen zu machen.
Also, wenn ein Prozess, der grade nicht rechnen darf von einem
âIO-GerĂ€tâ einen Fehler bekommt (z.b. beim brennen geht was in
die Hose) wartet er mit dem âschreibenâ des Interrupt (in
diesem Falle meistens der Exception ) bis er wieder âdarfâ?
Nein. Der Interrupt wird in diesem Fall nicht von einem im Kernel laufenden Prozess ausgelöst sondern von einem externen GerĂ€t. Die CPU entscheidet dann was mit diesem Interrupt zu tun ist und ĂŒbergibt ihn dann möglicherweise an einen Prozess.
Beispiel: Du hast da eine Tastatur angeschlossen. Da gibt es 2 Möglichkeiten die Abzufragen. Entweder ich frag regelmĂ€ssig bei der Tastatur nach ob eine Eingabe vorliegt oder ich erlaube der Tastatur einen HW Interrupt zu machen und entscheide sobald jemand auf der Tastatur eine Taste drĂŒckt was ich mit dem einkommen Interrupt zu tun habe.
Folglich gibt das Device eine Art âvor-interruptâ an der
Prozess weiter, der der dann baldmöglichst bearbeitet?
Oder merkt der Prozess das erst, wenn beim nÀchten
schreib/lese-Zugriff was nicht passt?
Ich hab ja oben ein Beispiel. Du scheinst Interrupt immer nur als ein von einem Prozess ausgelösten Fehler zu verstehen. Noch ein Beispiel:
Ein Braten ist im Ofen wÀhrend im Wohnzimmer eine nette Runde zusammen sitzt und sich angeregt unterhÀlt. Jetzt gibt es 2 Möglichkeiten:
- Die Hausfrau guckt minĂŒtlich nach dem Braten und guckt ob er fertig ist. DafĂŒr muss jedesmal ein Guck-nach-dem-Braten-Prozess angeworfen werden.
- Der Ofen meldet sich durch piepsen wenn der Braten fertig ist. Das lösst einen Interrupt aus, das Programm fröhliche Unterhaltung wird unterbrochen, die Meldung Ofen piepst wird an die Hausfrau weitergegeben und sie setzt dadurch den Prozess Guck-nach-dem-Braten in Gang.
Du musst dich von dem Fehler Gedanken etwas lösen. HÀufig sind ausgelöste HW-Interrupts eher was gutes und erwartetes als ein Fehler.