An interrupt allows us to alter the normal flow of execution of a program when an event of higher priority occurs. They can be triggered by different sources:
- I/O requests
- Arithmetic errors (e.g. div 0)
- Encountering invalid instructions
Each interrupt is associated with a procedure (Interrupt Service Routine) that directs the actions of the CPU to handle the events.