Gestore di interrupt

Versione del 19 nov 2005 alle 06:50 di Marius~itwiki (discussione | contributi) (fix link e voce correlata)

Un gestore di interrupt è l'evoluzione di una interrupt service routine, cioè una routine la cui esecuzione è innescata dal verificarsi di un interrupt.

Nei moderni sistemi i gestori di interrupt sono divisi in due parti:

  • gestori di primo livello (FLIH, First-Level Interrupt Handler)
  • gestori di secondo livello (SLIH, Second-Level Interrupt Handlers)

I gestori di primo livello (FLIH) funzionano nello stesso modo delle vecchie routine di interrupt. In risposta ad un interrupt avviene la commutazione di un context switch e il codice per gestire l'interrupt viene caricato in memoria ed eseguito. Il compito del FLIH, comunque, non è quello di gestire l'interrupt, bensì quello di schedulare la successiva esecuzione del gestore di secondo livello (SLIH), nonchè quello di tenere traccia e di memorizzare tutte le eventuali informazioni importanti che fossero disponibili soltanto nel momento in cui si verifica l'interrupt.

Il gestore SLIH rimane nella coda pronti del sistema operativo finché, quando si rende disponibile tempo macchina del processore, arriva il suo turno di esecuzione, e può essere eseguito il codice per gestire l'evento che ha innescato l'interrupt.


Voci correlate