Je toetsenbord is een zeer eenvoudig invoerapparaat; gewoonweg, omdat het zeer langzaam kleine hoeveelheden gegevens genereert (voor computerstandaards). Als je een toets indrukt of loslaat, wordt die event doorgeseind aan de toetsenbordkabel om een hardware interrupt te doen ontstaan.
Het is de taak van het besturingssysteem om dergelijke interrupts in de gaten te houden. Voor iedere mogelijke soort interrupt, zal er een interrupt handler zijn, een deel van het besturingssysteem welke enige gegevens die ermee zijn geassocieerd verbergt (zoals je toetsindruk/toetsloslaat waarde), totdat het kan worden verwerkt.
Wat de interrupt handler voor je toetsenbord eigenlijk doet, is de toetswaarde in een systeemgebied vlakbij de onderkant van het geheugen posten. Daar zal het ter inzage beschikbaar zijn als het besturingsssysteem de controle overgeeft aan het programma, waarvan op dat moment verondersteld wordt dat het van het toetsenbord aan het lezen is.
Complexere invoerapparaten zoals disk- of netwerkkaarten werken op een vergelijkbare manier. Hierboven refereerde we naar een diskcontroller die de bus gebruikte om te seinen dat er aan een diskverzoek was beantwoord. Wat er in werkelijkheid gebeurt, is dat de disk een interrupt veroorzaakt. De disk interrupt handler kopieert de ontvangen gegevens vervolgens naar het geheugen, voor later gebruik door het programma dat het verzoek deed.
Iedere soort interrupt heeft een geassocieerde prioriteiten niveau. Lagere-prioriteit interrupts (zoals toetsenbord events) moeten wachten op hogere-prioriteit interrupts (zoals kloktikken of disk events). Unix is ontworpen om hoge prioriteit te geven aan de soort events die snel moeten worden verwerkt om ervoor te zorgen dat de response van de computer vlot verloopt.
In de opstartmeldingen van je OS, zou het kunnen dat je verwijzingen tegenkomt naar IRQ-nummers. Het kan zijn dat je je er bewust van bent dat één van de algemene manieren om je hardware onjuist te configureren is, dat twee verschillende apparaten dezelfde IRQ proberen te gebruiken, zonder dat je exact begrijpt waarom.
Hier is het antwoord. IRQ staat voor "Interrupt Request". Het besturingssysteem moet bij het opstarten weten welke genummerde interrupts elk hardware-apparaat zal gebruiken, zodanig dat het de juiste handlers met ieder daarvan kan associëren. Als twee verschillende apparaten dezelfde IRQ proberen te gebruiken, zullen interrupts soms naar de verkeerde handler worden gezonden. Dit zal gewoonlijk op z'n minst het apparaat doen vastlopen, en kan het OS soms genoeg in de war brengen dat het vastloopt of crasht.