Interrupts are signal that are sent to the CPU. There are three types of interrupts:
(i) Hardware interrupts: These interrupts are generated by hardware devices that need some attention from the Operating System. Hardware interrupts are external, asynchronous and independent of the currently executed process instructions. Example: Memory fault, clock interrupt, I/O interrupt etc.
(ii) Software interrupts: Software interrupts are generated by programs. Example: Divide by zero, page fault etc.
(iii) Traps: Traps are also software interrupts to call operating system services. These are system calls, internal and synchronous events.