Logo NEXUS

NEXUS didattica

← Torna indietro
Informatica / Lezione Teorica

Gestione delle Interruzioni

Meccanismi hardware e software di sincronizzazione: IRQ, Interrupt Service Routine (ISR), eccezioni sincrone e cambio di contesto.

1. Il Ruolo Fondamentale delle Interruzioni

Nei sistemi di calcolo moderni, il processore (CPU) esegue istruzioni a velocità elevatissime rispetto ai dispositivi periferici (come tastiere, dischi rigidi o schede di rete). Per evitare che la CPU sprechi cicli preziosi in attesa attiva (polling) di un evento esterno, si adotta il meccanismo delle interruzioni (interrupt).

Un'interruzione è un segnale asincrono inviato alla CPU dall'hardware (o un evento sincrono generato da un'eccezione software) che richiede lo spostamento immediato dell'attenzione verso una routine di gestione specifica.

2. Tipologie di Interruzioni

3. Il Flusso di Gestione (ISR e Context Switch)

Quando si verifica un'interruzione, il sistema operativo segue una procedura rigorosa per preservare lo stato del sistema:

  1. Salvataggio del Contesto: La CPU salva i registri correnti e il Program Counter (PC) all'interno del PCB (Process Control Block) del processo in esecuzione.
  2. Identificazione della Sorgente: Tramite il vettore delle interruzioni, la CPU individua la corretta ISR (Interrupt Service Routine) associata all'evento.
  3. Esecuzione della ISR: Viene eseguito il codice specifico per gestire la periferica o l'eccezione.
  4. Ripristino del Contesto: Vengono ricaricati i registri salvati in precedenza, permettendo al processo interrotto di riprendere l'esecuzione esattamente dal punto in cui era stato sospeso.
Considerazioni di Prestazione:

Il tempo impiegato per passare dal processo in esecuzione alla ISR e viceversa prende il nome di Interrupt Latency. Ridurre al minimo questo overhead è cruciale nei sistemi operativi Real-Time (RTOS).

4. Simulatore Interattivo: Ciclo di Vita di un'Interruzione

Seleziona un tipo di interruzione per simulare la sequenza operativa eseguita dalla CPU e dal sistema operativo.

irq-monitor@nexus-core:~# Interrupt Handling Simulator
> In attesa di eventi di interruzione per l'analisi del flusso...