Gli interrupt con priorità consentono ai computer di eseguire molti programmi contemporaneamente.
Credito immagine: Jupiterimages/Photos.com/Getty Images
Sebbene alcuni computer, come quello che fa funzionare il tuo tostapane, eseguano un'attività alla volta, i PC desktop, gli smartphone e i mainframe hanno diversi processi che funzionano contemporaneamente. Il computer gestisce questo tramite interruzioni di sistema, un meccanismo mediante il quale un programma ottiene temporaneamente la priorità sugli altri. L'unità centrale di elaborazione consente vari tipi di interruzioni in base a una gerarchia di compiti predeterminata.
Programmi multipli
Un moderno PC, smartphone o server contiene diversi programmi in memoria, sebbene la CPU ne esegua solo una manciata in un dato momento; la maggior parte sono inattivi. I programmi includono applicazioni come elaboratore di testi, fogli di calcolo ed e-mail, funzioni di utilità come monitor di memoria e spooler di stampa e i programmi che gestiscono la scheda di rete del computer, la tastiera e Altoparlanti. Quando un programma importante necessita di assistenza, invia un'interruzione alla CPU, che interrompe altri lavori in corso per svolgere il compito urgente. La CPU serve l'interrupt solo se ha priorità su altri task.
Video del giorno
Interruzioni hardware
Dischi rigidi, schede di rete, stampanti e altri dispositivi emettono interruzioni hardware per attirare l'attenzione della CPU. Ad esempio, un programma richiede dati dal disco rigido; sebbene questa attività richieda circa 10 millisecondi, questo è un tempo lungo per la CPU, che nel frattempo svolge altre attività. Quando il disco rigido trova i dati, emette un'interruzione hardware, dicendo alla CPU di interrompere temporaneamente ciò che sta facendo e consegnare i dati al programma richiedente.
Interruzioni software
I programmi emettono interrupt software per gestire richieste speciali attraverso il sistema operativo del computer. Ad esempio, nel tuo elaboratore di testi, desideri incollare la data in un'intestazione di pagina. L'elaboratore di testi emette un'interruzione software, richiedendo la data a Microsoft Windows. L'elaboratore di testi attende brevemente mentre Windows recupera la data dal calendario di sistema. Quando la data è pronta, Windows restituisce il controllo all'elaboratore di testi. Gli interrupt software hanno una priorità relativamente bassa. se, durante l'acquisizione della data, la CPU riceve una richiesta dal disco rigido, la CPU esegue prima l'interruzione del disco rigido, quindi termina il recupero della data.
Trappole CPU
Il sistema operativo riserva diversi interrupt ad altissima priorità per le emergenze. Ad esempio, i dati di un programma vengono corrotti, causandone l'arresto anomalo. Il sistema operativo emette un trap della CPU che interrompe il programma e visualizza un messaggio di avviso sullo schermo, informandoti dell'accaduto. In casi più estremi, il sistema operativo stesso sviluppa un problema grave. Emette un'altra trappola della CPU che visualizza un messaggio diagnostico e interrompe tutta l'elaborazione.