Software Interrupt

A 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. A software interrupt is invoked by software, unlike a hardware interrupt, and is considered one of the ways to communicate with the kernel or to invoke system calls, especially during error or exception handling.

A software interrupt often occurs when an application software terminates or when it requests the operating system for some service. This is quite unlike a hardware interrupt, which occurs at the hardware level. A software interrupt only communicates with the kernel and indirectly interrupts the central processing unit. All software interrupts are associated with an interrupt handler, which is actually just a routine that is activated when an interrupt happens. Only one bit of information is communicated during a software interrupt. Often, a software interrupt is used to perform an input/output request. This request, in turn, calls kernel routines that actually perform the service.

A software interrupt often emulates most of the features of a hardware interrupt. Like a hardware interrupt, it calls only a specific interrupt vector and saves the accumulators and registers. A software interrupt can also make use of some of the hardware interrupt routines.

Similar in functionality to a subroutine call, a software interrupt is used for different purposes in a device. One notable example is when communicating with the disk controller for reading and writing data to and from a disk.

Post a Comment

0 Comments