Notes Ch4 Understanding the Linux Kernel
There is a key difference between interrupt handling and process switching: the code executed by an interrupt or by an exception handler is not a process. Rather, it is a kernel control path that runs on behalf of the same process that was running when the interrupt occurred . As a kernel control path, the interrupt handler is lighter than a process (it has less context and requires less time to set up or tear down).
The activities that the kernel needs to perform in response to an interrupt are thus divided into two parts: a top half that the kernel executes right away and a bottom half that is left for later.
Interrupt Types: Maskable interrupts : Sent to the INTR pin of the microprocessor. They can be disabled by clearing the IF
flag of the eflags register. All IRQs issued by I/O devices give rise to
maskable interrupts. Nonmaskable interrupts : Sent to the NMI (Nonmaskable Interrupts) pin of the microprocessor. They are not
...
My meanderings into the heart of Linux Kernel