Outline the process that occurs when a hardware interrupt is
Outline the process that occurs when a hardware interrupt is generated by a disk controller. Set the context for the interrupt disk read and describe how an interrupt handler would address the event.
Solution
As the name suggests,these interrrupts are set by hardware components or peripheral devices like hard disks.
Disk controller using the bus to signal that a disk request has been fulfilled.What actually happens is that disk Raises an interrupt.The disk interrupt handler then copies the retrieved data into memory for the later use by the program that made the request.When an event occurs the micro-controller generates a hardware interrupt. The interrupt forces the micro-controller\'s program counter to jump to a specific address in program memory. This special memory address is called the interrupt vector. At this memory location we install a special function known as an interrupt service routine (ISR) which is also known as an interrupt handler. So upon generating a hardware interrupt, program execution jumps to the interrupt handler and executes the code in that handler.
we describe interrupt handling in a scenario where the hardware does support identifying the device that initiated the interrupt. In such cases, the exact source of the interrupt can be identified at hardware level.
we describe interrupt handling in a scenario where the hardware does not support identifying the device that initiated the interrupt. In such cases, the possible interrupting devices need to be polled in software.
lMore complex than exceptions
lRequires registry, deferred processing, etc.
lThree types of actions:
lCritical: Top-half (interrupts disabled – briefly!)
lExample: acknowledge interrupt
lNon-critical: Top-half (interrupts enabled)
lExample: read key scan code, add to buffer
lNon-critical deferrable: Do it “later” (interrupts enabled)
lExample: copy keyboard buffer to terminal handler process
lSoftirqs, tasklets.
