Interrupt: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
fix
Voci correlate: , Aggiunta DMA (Direct Memory Access) alla lista delle voci correlate agli interrupt, sezione informatica
 
(40 versioni intermedie di 12 utenti non mostrate)
Riga 1:
{{F|sistemi operativi|febbraio 2013}}
 
Un '''interrupt''', in [[informatica]], è un segnale asincrono che indica il "bisogno di attenzione" da parte di una [[periferica]] finalizzata ad una particolare richiesta di servizio, un evento sincrono che consente l'interruzione di un [[processo (informatica)|processo]] qualora si verifichino determinate condizioni ([[gestione dei processi]]) oppure più in generale una particolare richiesta al [[sistema operativo]] da parte di un [[processo (informatica)|processo]] in [[esecuzione (informatica)|esecuzione]].
 
== Tipologie ==
Ci sono due tipi di interrupt:
 
* ''Interrupt hardware'' generati da dispositivi esterni alla [[CPU]] (periferiche), che hanno il compito di comunicare il verificarsi di eventi esterni, di solito dispositivi di [[Input/Output]]. Un interrupt [[hardware]] costringe il [[processore]] a memorizzare il suo stato di esecuzione fino all'arrivo dell'interrupt e ad iniziare l'esecuzione della [[subroutine]] (sottoprogramma) ([[commutazione di contesto]]) che esegue il compito richiesto dall'interrupt, terminato il quale il processore riprende l'esecuzione delle operazioni che stava precedentemente elaborando. Nella pratica, si nota un rallentamento del sistema ed un aumento dell'uso della CPU, che può arrivare ad essere impegnata al 100% e per lunghi periodi.
 
* ''Interrupt software'': sono delle istruzioni [[assembly]], tipo ''INT xx'' o ''SYSCALL'', che possono essere assimilate alle chiamate di sottoprogrammi, ma che sfruttano il meccanismo delle interruzioni per passare il controllo dal [[programma (informatica)|programma]] chiamante a quello chiamato, e viceversa; vengono utilizzati per accedere direttamente alle risorse del sistema operativo.
 
Riga 25 ⟶ 24:
 
Nelle linee di interrupt multiple ad ogni dispositivo è associato un proprio piedino del [[microprocessore]] per la gestione degli interrupt. Questo sistema è impraticabile per la gestione degli interrupt di numerosi dispositivi ma può essere utilizzato in tecnologie special purpose.
 
Le linee di interrupt possono essere mascherabili o non mascherabili, quelle non mascherabili sono riservate ad eventi come errori irreversibili della memoria, mentre quelle mascherabili possono essere disattivate dalla CPU prima dell'esecuzione di sequenze di istruzioni critiche che non devono essere interrotte.
 
La scansione degli interrupt consiste nell'effettuare una scansione dei dispositivi, interrogando ognuno per un'eventuale conferma della richiesta di interrupt inviata. Quando il dispositivo che ha generato l'interrupt viene interrogato, invierà una conferma al processore e quest'ultimo avvierà la [[Interrupt Service Routine|ISR]] relativa. Impostando la sequenza della scansione è possibile impostare la priorità.
Riga 45 ⟶ 46:
* [[Polling (informatica)]]
* [[Programmable Interrupt Controller]]
* [[Direct Memory Access]]
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
 
{{Controllo di autorità}}