Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Gestore di interrupt - Teknopedia
Gestore di interrupt - Teknopedia
Niente fonti!
Questa voce o sezione sull'argomento sistema operativo non cita le fonti necessarie o quelle presenti sono insufficienti.

Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti.

In informatica un gestore di interrupt è una routine la cui esecuzione è innescata dal verificarsi di un interrupt.

È l'evoluzione di una Interrupt Service Routine (ISR), una funzione informatica, di tipo callback, che viene avviata dal sistema operativo in risposta a un Interrupt.

Descrizione

[modifica | modifica wikitesto]

Quando arriva un interrupt, la CPU deve mandare in esecuzione l'ISR predisposta ad hoc dal programmatore per quel particolare interrupt. Affinché il meccanismo dell'interruzione funzioni correttamente, è necessario che tutte le azioni svolte dall'ISR siano trasparenti rispetto al programma interrotto, cioè che al termine venga ripristinato tutto come era prima dell'interrupt, in altre parole, che la ISR sia perfettamente rientrante (attraverso l'istruzione Return). Per fare ciò bisogna che la CPU, prima di mandare in esecuzione l'ISR, faccia una commutazione di contesto, ovvero salvi tutto quello che stava facendo (cioè il suo contesto attuale), ed alla fine dell'ISR lo ripristini com'era.

L'interrupt va gestito rapidamente, e quindi non va perso tempo per salvare tutto il contesto attuale (variabili, stato del programma, l'immagine sullo schermo ecc..) ma solo quello che effettivamente verrà modificato dall'ISR. D'altra parte la CPU non sa esattamente che cosa modificherà l'ISR e quindi non può conoscere a priori cosa salvare.

Quindi quando si verifica un'interruzione l'hardware deve provvedere ad effettuare la commutazione di almeno la seguente porzione del contesto:

  • Il registro PC (Program counter)
  • Il registro che definisce lo stato dell'interrompibilità del processore

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 una commutazione di contesto 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

[modifica | modifica wikitesto]
  • Commutazione di contesto
  • Scheduler
  • Interrupt
  Portale Informatica: accedi alle voci di Teknopedia che trattano di informatica
Estratto da "https://it.wikipedia.org/w/index.php?title=Gestore_di_interrupt&oldid=138963708"

  • Indonesia
  • English
  • Français
  • 日本語
  • Deutsch
  • Italiano
  • Español
  • Русский
  • فارسی
  • Polski
  • 中文
  • Nederlands
  • Português
  • العربية
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022