Ominide 690 punti

Per evitare che la CPU sprechi questo tempo e prevede che quando una periferica deve entrare in azione, emetta un segnale di interrupt verso la CPU che viene testato alla fine di ogni fase di esecuzione. Quando la CPU riconosce che il segnale è attivo, interrompe l'esecuzione del programma in corso, salva il suo stato nello stack, riconosce il codice di interrupt che vine inviato sul bus dati, attiva la routine di interrupt relativa al tipo di richiesta. Alla fine ripristina lo stato del programma interrotto. Possono essere di 2 tipi: hardware se dipendono dal mal funzionamento dei dispositivi. Software sono quelle che derivano dalla necessità di trasferire dati in I/O o da richieste di eseguire procedure di un SO. Le procedure di risposte sono presenti su disco fisso, ma vengono caricate a partire da un indirizzo particolare della memoria RAM e quindi una procedura di risposta viene calcolata partendo dall'indirizzo iniziale e sommando un offset relativo al suo codice di richiesta. Gli interrupt possono essere a loro volta interrompibili da interrupt con un codice maggiore di quello in esecuzione. Per ottenere questo risultato la CPU confronta i due codici e se il secondo che è arrivato e di livello superiore viene interrotto il primo interrupt, viene servito il secondo, viene ripristinato il primo e si ritorno al programma iniziale.

Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Registrati via email