Gestore di interrupt: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Marius~itwiki (discussione | contributi)
m + voce correlata
Nessun oggetto della modifica
Riga 1:
Un '''gestore di interrupt''' è l'evoluzione di una [[Interrupt service routine|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:
Riga 5:
*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 launa [[Context switch|commutazione di un [[context switchcontesto]] 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 [[Scheduler|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 [[CPU|processore,]] arriva il suo turno di esecuzione, e può essere eseguito il codice per gestire l'evento che ha innescato l'interrupt.