Home

Interruptafhandeling

Interruptafhandeling is het proces waarbij een computerprocessor de normale uitvoering tijdelijk onderbreekt om te reageren op gebeurtenissen van hardware of software via interrupts. Een interrupt signaleert dat onmiddellijke aandacht vereist is en kan leiden tot het oproepen van een interrupt service routine (ISR).

Interrupten worden vaak geregeld door een interrupt controller, zoals een Programmable Interrupt Controller (PIC) of een

Bij een interrupt slaat de CPU de huidige toestand van de uitvoering op (registers, programma-teller) en roept

Eigenschappen en uitdagingen omvatten prioriteitsmodellen, masking (onderdrukken van interrupts), nesting (toestaan van hogere prioriteit tijdens verwerking

Voorbeelden in besturingssystemen: Linux verdeelt de afhandeling vaak in een kort top-level gedeelte dat snel reageert

Advanced
Programmable
Interrupt
Controller
(APIC).
Deze
apparaten
rangschikken
inkomende
requests
en
geven
de
processor
een
signaal
op
basis
van
prioriteit.
Een
interrupt
kan
worden
geactiveerd
door
hardware-apparaten
(toetsenbord,
netwerkkaart,
timer)
of
door
software
(system
calls,
traps).
via
een
interrupt
vector
table
de
juiste
ISR
aan.
De
ISR
is
doorgaans
kort
en
voert
alleen
urgente
handelingen
uit;
zwaardere
verwerking
wordt
later
afgehandeld
via
deferred
work
zoals
bottom
halves,
work
queues
of
vergelijkbare
mechanismen.
van
een
interrupt)
en
de
impact
op
systeemprestaties
zoals
interrupt
latency
en
contextswitch
overhead.
Real-time
systemen
vereisen
voorspelbare
latency
en
nauwkeurig
beheer
van
de
interruptafhandeling.
en
deferred
work
laat
uitvoeren
via
bottom
halves
en
softirqs;
Windows
gebruikt
Deferred
Procedure
Calls
(DPC’s)
voor
latere
uitvoering.
Andere
systemen
hanteren
vergelijkbare
mechanismen
om
interrupts
efficiënt
en
betrouwbaar
af
te
handelen.