2011-09-03 16 views

risposta

14

L'interrupt è un evento asincrono tipicamente generato dall'hardware (Ex, I/O) non sincronizzato con l'esecuzione dell'istruzione del processore. Mentre le eccezioni sono eventi sincroni generati quando il processore rileva una condizione predefinita durante l'esecuzione dell'istruzione.

Il gestore di interrupt può essere interrotto da un altro gestore di interrupt e così via. Un gestore di interrupt può rinviare un gestore di eccezioni, ma un gestore di eccezioni non rimuove mai un gestore di interrupt. L'unica eccezione possibile nella modalità kernel è l'errore di pagina.

I gestori di interrupt non eseguono mai operazioni che potrebbero causare un errore di pagina e quindi potenzialmente una pianificazione. Nel caso in cui danno luogo a un errore di pagina, significa che è un bug.

È necessario fare attenzione durante la scrittura/modifica di gestore di interrupt

2

interrupt ed eccezioni sia alterare il flusso del programma. La differenza tra i due è che gli interrupt vengono utilizzati per gestire eventi esterni (porte seriali, tastiera) e le eccezioni vengono utilizzati per gestire istruzione difetti, (divisione per zero, opcode indefinito).

Gli interrupt vengono gestiti dal processore dopo aver terminato l'operazione corrente corrente. Se trova un segnale sul suo pin di interrupt, lo cercherà l'indirizzo del gestore di interrupt nella tabella degli interrupt e passerà a quel controllo di routine. Dopo il ritorno dalla routine di interrupt di gestione , riprenderà l'esecuzione del programma sull'istruzione dopo l'istruzione interrotta .

Le eccezioni d'altra parte sono divise in tre tipi. Questi sono guasti, trappole e aborigeni. Gli errori vengono rilevati e revisionati dal processore prima delle istruzioni di errore. Le trap sono revisionate dopo le istruzioni che causano la trappola. Gli interrupt definiti dall'utente entrano in questa categoria e possono essere considerati trappole; questo include l'interrupt software MS- DOS INT 21h , ad esempio. Gli aborzi vengono utilizzati solo per il segnale grave problemi di sistema, quando l'operazione non è più possibile.

Ricerca a: http://www.allinterview.com/showanswers/14289.html

Problemi correlati