Interrupts and Traps Interrupt, Trap, Abort, System Call, Breakpoint, ... All of these are basically the same: Normal program execution is interrupted, Interrupts are disabled and CPU state changes Execution resumes at a differerent location You need some special instruction to "return" Usually, we call "Interrupt Request" (IRQ) something external A device driver requires attention A timer expired A network or USB frame arrived And we call "Trap" sth that depends on the program flow Illegal Instruction Division by zero Illegal pointer Software interrupts are just the same Special instructions that force a state change in the CPU