An Interrupt Vector Table (IVT) is an array of memory pointers located at a fixed address in physical memory. Each entry in the table, known as an , stores the absolute or segmented address of an Interrupt Service Routine (ISR) —the specialized function written to process a particular event.
To understand its purpose, we have to look at how operating systems manage hardware. When a device like a graphics card, network adapter, or a Thunderbolt-connected SSD needs to read or write data to the system's main memory (RAM), it uses a technology called . Instead of the CPU laboriously copying each byte, DMA allows the device to access memory directly, which is incredibly fast and efficient.
Since interrupts use the system stack, recursive or heavy handlers can easily crash the machine.
[Hardware Device] ---> [Interrupt Signal] ---> [IOMMU / Kernel Protection] | (Validates DMA Space) | +---------------------------+---------------------------+ | (Passes Checks) | (Fails Checks) v v Normal ISR Execution IvtHandleInterrupt | [BSOD: 0xE6 DMA Violation]