Discuss how are the three interrupt-handling features implemented. Find examples in your daily life or from the Internet Solution Each interrupt that gets generated in the system should have a handler, also called as ISR (Interrupt Service Routine) that gets executed to service the interrupt. We can broadly devide interrupt handling into two cateries. 1. Handling Interrupts in a OS absent environment (Eg. 8051 or some kind of ARM based Controller programming without any OS) a. Vectored Interrupt handling. b. Non-vectored interrupt handling 2. Handling Interrupts in an OS present environment. The following points give details about three features of handling interrupts mentioned above. 1. In case of vectored interrupt handlers, system maintains a table called Interrupt Vector Table (IVT) in the memory. This table contains the starting memory addresses for each interrupt that can genetate in the system. So, when an interrupt gets generated, the processor get the starting address of the corresponding service routine from the IVT and jumps to that address and executes the code that is present till it finds IRET kind of instruction. 2. In case of non-vectored interrupt handling, the system will have a 8259 kind of interrupt controller that provides the starting address of interrupt that is raised by a device. 3. In case of OS present environment, the underlying OS provides support in terms of APIs or system calls to register a handler (or ISR) to service the interrupts generated by the external devices. In this case, the device driver of a specific device registers the required interrupt handler with the kernel. .