Introduction Edit

Accessing I/O Edit

I/O Ports Edit

Special Instructions

Memory Mapped I/O Edit

Interrupt Handler Edit

  1. Save Registers -not already saved by hardware interrupt mechanism
    • (Optionally) set up context for interrupt service procedure
    • Typically, handler runs in the context of the currently running process. No expensive context switch
  2. Set up stack for interrupt service procedure
    • Handler usually runs on the kernel stack of current process
  3. Ack/Mask interrupt controller, re-enable other interrupts
  4. Run interrupt service procedure
    • Acknowledges interrupt at device level
    • Figures out what caused the interrupt
    • If needed, it signals blocked device driver
  5. Choose newly woken thread to schedule next.
  6. Load new/original process' registers
  7. Re-enable interrupt; Start running the new process