Interrupt: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
+ info |
italianizzo voce e richiedo cambio nome |
||
Riga 1:
{{Sposta|Interruzione|Propongo il cambio di nome della voce nel rispetto della convenzione secondo cui debbano essere utilizzati i nomi italiani per facilitare la comprensione dell'argomento (vedasi ad es. "rete sociale" al posto di "social network" o "gestore di interruzioni programmabile" al posto di "programmable interrupt controller"), ove gli stessi in inglese non siano entrati stabilmente nella lingua italiana (ad es. computer e mouse).}}{{F|sistemi operativi|febbraio 2013}}
==
Ci sono due tipi di
*
*
==
*un processo tenta di eseguire un'[[istruzione (informatica)|istruzione]] non valida, come una divisione per zero. In questi casi non è possibile proseguire con l'esecuzione del processo, perché genererebbe parecchi errori, corromperebbe i dati nei [[registro (informatica)|registri]] della CPU e/o porterebbe a un [[Crash (informatica)|crash]] il sistema stesso. Quindi l'
*un processo richiede un'operazione di I/O al sistema operativo. Le CPU moderne prevedono la possibilità di utilizzare diversi livelli di privilegi, per ragioni di [[sicurezza informatica|sicurezza]], che i processi in esecuzione possono ricevere. Solo il sistema operativo può effettuare alcune operazioni come accedere ad alcune aree di [[memoria (informatica)|memoria]] protette o gestire le [[periferica|periferiche]].
*un dispositivo di [[I/O]] informa la CPU che è disponibile a ricevere o fornire [[dati]]. In questo caso viene avviata un'opportuna procedura del sistema operativo preposta ad occuparsi della relativa periferica. Questo tipo di
*il tempo massimo a disposizione per tale processo è raggiunto e lo [[scheduler]] deve riassegnare la CPU ad un altro processo in coda.
*viene effettuato il [[debugging|debug]] di un'applicazione. Durante la fase di sviluppo di un [[software|programma]] è frequente la necessità di testare il funzionamento di quanto creato per scoprire e risolvere l'origine dei malfunzionamenti. Il debugging consente di seguire l'evoluzione del programma istruzione per istruzione, dando la possibilità di interrompere il processo in qualunque momento per verificare il valore di ogni parametro. Per effettuare questo è necessario che il [[codice sorgente]] sia compilato in maniera apposita, in questo caso se il programma viene eseguito sotto il controllo di un apposito programma, il [[debugger]], ad ogni istruzione viene
==
Nel momento in cui il processore riceve una richiesta di
*Linee di
*Scansione
*Vettorizzazione
Nelle linee di
La scansione
La vettorizzazione fa uso di un [[circuito integrato]] detto [[
==Bibliografia==
* {{cita libro|autore=[[Andrew Stuart Tanenbaum]]|titolo=Architettura dei calcolatori. Un approccio strutturale|editore=Pearson Education|città=Milano|anno=2006|url=http://books.google.it/books?id=hK8lJ4BPOYcC|pp=393-396|capitolo=Interrupt|isbn=978-88-7192-271-3|cid=adc}}
* {{cita libro|autore=
==Voci correlate==
Riga 36:
* [[Gestore di interrupt]]
* [[Interrupt request]]
*[[Controllore di interruzioni programmabile]]
* [[Non-maskable interrupt]]
* [[Message Signaled Interrupts]]
|