Interromper
Uma interrupção é um sinal enviado ao processador que interrompe o processo atual. Pode ser gerado por um dispositivo de hardware ou um programa de software.
Uma interrupção de hardware geralmente é criada por um dispositivo de entrada como um mouse or teclado. Por exemplo, se você estiver usando um processador de palavras e pressione uma tecla, o programa deve processar a entrada imediatamente. Digitar "olá" cria cinco solicitações de interrupção, o que permite ao programa exibir as letras digitadas. Da mesma forma, cada vez que você clica em um botão do mouse ou toca em um touchscreen, você envia um sinal de interrupção para o dispositivo.
Interrupções de software são usadas para lidar com erros e exceções que ocorrem enquanto um programa está sendo executado. Por exemplo, se um programa espera uma variável para ser um número válido, mas o valor é nulo, uma interrupção pode ser gerada para impedir que o programa falhe. Ele permite que o programa mude de rumo e lide com o erro antes de continuar. Da mesma forma, uma interrupção pode ser usada para quebrar um loop infinito, o que poderia criar um vazamento de memória ou fazer com que um programa não responda.
As interrupções de hardware e software são processadas por um manipulador de interrupções, também chamado de rotina de serviço de interrupção ou ISR. Quando um programa recebe uma solicitação de interrupção, o ISR lida com o evento e o programa é retomado. Como as interrupções costumam ser tão breves quanto batida de tecla ou clique do mouse, eles geralmente são processados em menos de um milissegundo.