Interrupt
Un interrupt è un segnale inviato al processore che interrompe il processo corrente. Può essere generato da un dispositivo hardware o da un programma software.
Un interrupt hardware viene spesso creato da un dispositivo di input, ad esempio un mouse o una tastiera. Ad esempio, se si sta utilizzando un programma di videoscrittura e si preme un tasto, il programma deve elaborare immediatamente l'input. Digitare "hello" crea cinque richieste di interrupt, consentendo al programma di visualizzare le lettere digitate. Analogamente, ogni volta che si fa clic su un pulsante del mouse o si tocca uno schermo touchscreen, si invia un segnale di interrupt al dispositivo.
Gli interrupt software vengono utilizzati per gestire gli errori e le eccezioni che si verificano mentre è in esecuzione un programma. Ad esempio, se un programma si aspetta che una variabile sia un numero valido, ma il valore è null, può essere generato un interrupt per evitare che il programma si arresti. Questo consente al programma di cambiare direzione e gestire l'errore prima di continuare. Analogamente, un interrupt può essere utilizzato per interrompere un ciclo infinito, che potrebbe creare una perdita di memoria o rendere un programma non responsivo.
Gli interrupt hardware e software vengono elaborati da un gestore degli interrupt, chiamato anche routine di servizio degli interrupt, o ISR. Quando un programma riceve una richiesta di interrupt, l'ISR gestisce l'evento e il programma riprende l'esecuzione. Poiché gli interrupt sono spesso brevi quanto una pressione di un tasto o un clic del mouse, vengono spesso elaborati in meno di un millisecondo.
Metti alla prova le tue conoscenze