In computer architecture, an interrupt is an input signal to the processor indicating an event that needs immediate attention. An interrupt signal alerts the processor and serves as a request for the processor to interrupt the currently executing code, so that the event can be processed in a timely manner. Therefore, if the request is accepted, the processor responds by suspending its current activities. Interrupt signal may be issued in response to hardware or software events and in this regard, they are classified as:
- Hardware interrupt
- Software interrupt
Both hardware and software interrupts are processed by an interrupt handler also referred to as an interrupt services routine (ISR). When a program receives an interrupt request, the ISR handles the event and the program resumes. Interrupts are often processed in less than a millisecond.
What Is Hardware Interrupt?
Hardware interrupt is caused by any peripheral device like mouse, keyboard, printer etc. For example, if you are using a word processor and press a key, the program must process the input immediately. Typing the word “Mama’’ creates five interrupts requests, which allows the program to display the letters you typed. Similarly, each time you click a mouse button or tap on a touchscreen, you send an interrupt signal to the device.
What You Need To Know About Hardware Interrupt
- Hardware interrupt is an interrupt generated from an external device or hardware.
- Hardware interrupts are asynchronized events.
- Hardware interrupts do not increment the program counter.
- Hardware interrupt is a kind of computer system interrupt that occur as a result of outside interference, whether that’s from the user, from peripherals, from other hardware devices or through a network.
- Hardware interrupt can be categorized into two types, they include Maskable interrupt and Non Maskable interrupts.
- Hardware interrupt is triggered by external hardware and is considered one of the ways to communicate with the outside peripherals, hardware.
- Hardware interrupt has the lowest priority than software interrupts.
What Is Software Interrupt?
A software interrupt occurs when an application software terminates or when it requests the operating system for some service. A software interrupt is generated by software and is considered one of the ways to communicate with the kernel or to invoke system calls, especially during error or exception handling.
For example, if a program expects a variable to be a valid number, but the value is null, an interrupt may be generated to prevent the program from crashing. It allows the program to change course and handle the error before continuing. Similarly, an interrupt can be used to break an infinite loop, which could create a memory leak or cause a program to be unresponsive.
What you need to know about Software Interrupt
- Software interrupt is the interrupt that is generated by any internal system of the computer (instruction in the program).
- Software interrupts are synchronized events.
- Software interrupts increase the program counter.
- Software interrupt is a type of interrupt that is caused either by a special instruction in the instruction set or by an exceptional condition in the processor itself.
- Software interrupt can be categorized into two types, they include; Normal interrupt and Exception
- Software interrupt is triggered by software (program instructions) and considered one of the ways to communicate with kernel or to trigger system calls, especially during error or exception handling.
- Software interrupt has the highest priority than hardware interrupt.
Also Read: Difference Between Application Software And System Software
Hardware Interrupt Vs Software Interrupt In Tabular Form
BASIS OF COMPARISON | HARDWARE INTERRUPT | SOFTWARE INTERRUPT |
Description | Hardware interrupt is an interrupt generated from an external device or hardware. | Software interrupt is the interrupt that is generated by any internal system of the computer (instruction in the program). |
Type Of The process | Hardware interrupts are asynchronized events. | Software interrupts are synchronized events. |
Effect On Program Counter | Hardware interrupts do not increment the program counter. | Software interrupts increase the program counter. |
Cause | Hardware interrupt is a kind of computer system interrupt that occur as a result of outside interference, whether that’s from the user, from peripherals, from other hardware devices or through a network. | Software interrupt is a type of interrupt that is caused either by a special instruction in the instruction set or by an exceptional condition in the processor itself. |
Categories | Maskable interrupt and Non Maskable interrupts. | Normal interrupt Exception |
Trigger | Hardware interrupt is triggered by external hardware and is considered one of the ways to communicate with the outside peripherals, hardware. | Software interrupt is triggered by software (program instructions) and considered one of the ways to communicate with kernel or to trigger system calls, especially during error or exception handling. |
Priority | Hardware interrupt has the lowest priority than software interrupts. | Software interrupt has the highest priority than hardware interrupt. |
Also Read: Difference Between Program And Software