IRQ

Een IRQ (Interrupt Request) is een signaal dat een hardwareapparaat naar de processor stuurt om aan te geven dat het aandacht nodig heeft. De processor stopt dan kort met wat het aan het doen was, verwerkt het signaal en gaat daarna verder.

Hoe het werkt

  1. Een apparaat (bijv. netwerkkaart, toetsenbord) heeft data klaarstaan
  2. Het stuurt een interrupt-signaal naar de processor
  3. De kernel voert de bijbehorende interrupt handler uit
  4. De processor gaat terug naar de vorige taak

Zonder interrupts zou de processor voortdurend zelf moeten controleren of apparaten iets te melden hebben (polling) — dat kost veel processortijd.

IRQ's bekijken

# Alle actieve IRQ's en hun tellers tonen
cat /proc/interrupts

# Samenvatting per CPU
watch -n1 cat /proc/interrupts

Softirq's en tasklets

Naast hardware-IRQ's heeft de Linux-kernel ook software-interrupts (softirq's) voor taken die net iets minder urgent zijn, zoals het verwerken van netwerkpakketten. Je ziet ze terug als ksoftirqd-processen.

ps aux | grep ksoftirqd

Zie ook

  • kernel — de kern die interrupts afhandelt
  • kernel-module — stuurprogramma's die interrupt handlers registreren
  • proces — hoe de kernel processortijd verdeelt
linuxkernelhardware