Embora alguns computadores, como aquele que opera sua torradeira, executem uma tarefa por vez, PCs de mesa, smartphones e mainframes têm vários processos funcionando simultaneamente. O computador gerencia isso por meio de interrupções do sistema, um mecanismo pelo qual um programa obtém temporariamente prioridade sobre outros. A unidade central de processamento permite vários tipos de interrupções com base em uma hierarquia de tarefas predeterminada.
Vários programas
Um PC, smartphone ou servidor moderno contém vários programas na memória, embora a CPU execute apenas um punhado de cada vez; a maioria está ociosa. Os programas incluem aplicativos como processador de texto, planilha e e-mail, funções utilitárias, como monitores de memória e spoolers de impressão, e os programas que gerenciam a placa de rede, o teclado e os alto-falantes do seu computador. Quando um programa importante precisa de serviço, ele emite uma interrupção para a CPU, que interrompe outro trabalho em andamento para cuidar da tarefa urgente. A CPU atende a interrupção somente se ela tiver prioridade sobre outras tarefas.
Interrupções de hardware
Discos rígidos, placas de rede, impressoras e outros dispositivos emitem interrupções de hardware para chamar a atenção da CPU. Por exemplo, um programa solicita dados do disco rígido; embora essa tarefa demore cerca de 10 milissegundos, isso é muito tempo para a CPU, que realiza outros trabalhos nesse ínterim. Quando o disco rígido encontra os dados, ele emite uma interrupção de hardware, dizendo à CPU para parar o que está fazendo temporariamente e entregar os dados ao programa solicitante.
Interrupções de software
Os programas emitem interrupções de software para lidar com solicitações especiais por meio do sistema operacional do computador. Por exemplo, em seu processador de texto, você deseja colar a data em um cabeçalho de página. O processador de texto emite uma interrupção de software, solicitando a data do Microsoft Windows. O processador de texto aguarda brevemente enquanto o Windows recupera a data do calendário do sistema. Quando a data estiver pronta, o Windows retornará o controle ao processador de texto. As interrupções de software têm uma prioridade relativamente baixa. se, ao obter a data, a CPU recebe uma solicitação do disco rígido, a CPU atende à interrupção do disco rígido primeiro e, em seguida, termina de recuperar a data.
Armadilhas de CPU
O sistema operacional reserva várias interrupções de alta prioridade para emergências. Por exemplo, os dados de um programa ficam corrompidos, fazendo com que ele trave. O sistema operacional emite uma armadilha de CPU que interrompe o programa e exibe uma mensagem de aviso na tela, informando o que aconteceu. Em casos mais extremos, o próprio sistema operacional desenvolve um problema grave. Ele emite outro trap de CPU que exibe uma mensagem de diagnóstico e interrompe todo o processamento.