Gli interrupt

L'interruzione hardware (hardware interrupt) è il modo utilizzato da un generico processore per gestire eventi asincroni, cioè che avvengono indipendentemente dall'esecuzione del programma principale.

Per cominciare, un'analogia:

  1. Sto facendo un lavoro
  2. Arriva una telefonata (evento esterno e asincrono rispetto a quello che sto facendo)
  3. Sospendo il lavoro per rispondere, memorizzando a che punto del lavoro sono arrivato
  4. Quando la telefonata termina, riprendo il lavoro che stavo facendo, da dove lo avevo lasciato

Ovviamente posso decidere di non essere disturbato da telefonate, staccando il telefono; posso anche decidere di ignorare le telefonate non urgenti. O anche decidere se una telefonata urgente può interrompere una telefonata meno urgente. E devo sperare/imporre che la telefonata non sia troppo lunga, altrimenti il lavoro non procede...

Qualche dettaglio più tecnico:

Questa tecnica permette ad un singolo processore di gestire (quasi) contemporaneamente più attività:

Alcune pagine che mostrano codice specifico basato su questi concetti:

La descrizione del concetto di interrupt qui fatta è in realtà è un po' limitata e non comprende altri significati:

Per un approfondimento: http://it.wikipedia.org/wiki/Interrupt.

Da approfondire - Un atroce dubbio, anzi due:

Ultima modifica di questa pagina: 28 marzo 2016


Licenza "Creative Commons" - Attribuzione-Condividi allo stesso modo 3.0 Unported


Pagina principaleAccessibilitàNote legaliPosta elettronicaXHTML 1.0 StrictCSS 3

Vai in cima