| Zeile 19: | Zeile 19: | ||
Wenn ein Interrupt ausgelöst wird, sichert die CPU die Register [[EFLAGS]], CS und EIP auf dem Stack. Danach wird eine Behandlungsroutine angesprungen, die in der [[IDT]] (Protected Mode) bzw. in der [[IVT]] (Real Mode) angegeben ist. Diese kehrt nach ihrer Ausführung im Allgemeinen mit dem Befehl ''iret'' zur Stelle, an der unterbrochen wurde, zurück. | Wenn ein Interrupt ausgelöst wird, sichert die CPU die Register [[EFLAGS]], CS und EIP auf dem Stack. Danach wird eine Behandlungsroutine angesprungen, die in der [[IDT]] (Protected Mode) bzw. in der [[IVT]] (Real Mode) angegeben ist. Diese kehrt nach ihrer Ausführung im Allgemeinen mit dem Befehl ''iret'' zur Stelle, an der unterbrochen wurde, zurück. | ||
| − | In Interrupt-Behandlungsroutinen sollte je nach Art des Interrupts | + | In Interrupt-Behandlungsroutinen sollte je nach Art des Interrupts reagieren: |
* In IRQs muss in der Regel das entsprechende Gerät ausgelesen werden. Außerdem muss der Erhalt der IRQs beim [[PIC]] quittiert werden. | * In IRQs muss in der Regel das entsprechende Gerät ausgelesen werden. Außerdem muss der Erhalt der IRQs beim [[PIC]] quittiert werden. | ||
* Bei Software Interrupts sollte z.B. eine Systemfunktion im Kernel ausgeführt werden | * Bei Software Interrupts sollte z.B. eine Systemfunktion im Kernel ausgeführt werden | ||