Differenza tra interrupt hardware e interrupt software

Differenza tra interrupt hardware e interrupt software

Nell’architettura del computer, un interrupt è un segnale di ingresso al processore che indica un evento che richiede attenzione immediata. Un segnale di interruzione avvisa il processore e serve come richiesta per il processore di interrompere il codice attualmente in esecuzione, in modo che l’evento possa essere elaborato in modo tempestivo. Pertanto, se la richiesta viene accettata, il responsabile del trattamento risponde sospendendo le sue attività in corso. Il segnale di interrupt può essere emesso in risposta a eventi hardware o software e, a questo proposito, sono classificati come:

  • Interruzione hardware
  • Interruzione del software  

Sia gli interrupt hardware che quelli software vengono elaborati da un gestore di interrupt denominato anche interrupt services routine (ISR). Quando un programma riceve una richiesta di interruzione, l’ISR gestisce l’evento e il programma riprende. Gli interrupt vengono spesso elaborati in meno di un millisecondo.

Interruzione hardware

L’interruzione hardware è causata da qualsiasi dispositivo periferico come mouse, tastiera, stampante ecc. Ad esempio, se si utilizza un elaboratore di testi e si preme un tasto, il programma deve elaborare immediatamente l’input. Digitando la parola “Mama” vengono create cinque richieste di interruzione, che consentono al programma di visualizzare le lettere digitate. Allo stesso modo, ogni volta che si fa clic su un pulsante del mouse o si tocca un touchscreen, si invia un segnale di interruzione al dispositivo.

Interruzione software

Un’interruzione del software si verifica quando un software applicativo termina o quando richiede un servizio al sistema operativo. Un interrupt software viene generato dal software ed è considerato uno dei modi per comunicare con il kernel o per invocare chiamate di sistema, specialmente durante la gestione di errori o eccezioni.

Ad esempio, se un programma si aspetta che una variabile sia un numero valido, ma il valore è nullo, potrebbe essere generato un interrupt per evitare che il programma si blocchi. Consente al programma di cambiare rotta e gestire l’errore prima di continuare. Allo stesso modo, un interrupt può essere utilizzato per interrompere un ciclo infinito, che potrebbe creare una perdita di memoria o causare la mancata risposta di un programma.

Differenza tra interrupt hardware e interrupt software

Interrupt hardware e interrupt software

BASE DI CONFRONTO HARDWARE INTERROTTO SOFTWARE INTERROTTO
Descrizione L’interrupt hardware è un interrupt generato da un dispositivo esterno o hardware.   L’interrupt software è l’interrupt generato da qualsiasi sistema interno del computer (istruzione nel programma).  
Tipo di processo Gli interrupt hardware sono eventi asincronizzati.   Gli interrupt software sono eventi sincronizzati.  
Effetto sul contatore del programma Gli interrupt di processo non incrementano il contatore del programma.   Gli interrupt software aumentano il contatore del programma.  
Causa L’interruzione hardware è una sorta di interruzione del sistema del computer che si verifica a seguito di interferenze esterne, che provengano dall’utente, dalle periferiche, da altri dispositivi hardware o attraverso una rete.   L’interrupt software è un tipo di interrupt causato da un’istruzione speciale nel set di istruzioni o da una condizione eccezionale nel processore stesso.  
Categorie Interruzioni mascherabili e interruzioni non mascherabili.   Eccezione di interruzione normale  
Trigger L’interrupt hardware viene attivato dall’hardware esterno ed è considerato uno dei modi per comunicare con le periferiche esterne, l’hardware.   L’interruzione del software viene attivata dal software (istruzioni del programma) e considerata uno dei modi per comunicare con il kernel o per attivare le chiamate di sistema, specialmente durante la gestione di errori o eccezioni.  
Priorità L’interrupt hardware ha la priorità più bassa rispetto agli interrupt software.   L’interrupt di software ha la priorità più alta dell’interrupt di hardware.  

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *