quinta-feira, 26 de janeiro de 2017

Interrupções de tarefas

Na Ciência da Computação, uma interrupção é um sinal de um dispositivo que tipicamente resulta numa troca de contextos, isto é, o processador para de fazer o que está fazendo para atender o dispositivo que pediu a interrupção.
Computadores digitais geralmente oferecem uma maneira de iniciar rotinas de software em resposta a eventos electrónicos assíncronos. Esses eventos são sinalizados para o processador através de pedidos de interrupção (IRQs). O processamento da interrupção compõe uma troca de contexto para uma rotina de software especificamente escrita para tratar a interrupção. Essa rotina é chamada rotina de serviço de interrupção, ou tratador de interrupção (interrupt handler). Os endereços dessas rotinas são chamados vetores de interrupção e são armazenados geralmente numa tabela na memória RAM, permitindo a sua modificação caso seja necessário. 
As Interrupções foram concebidas para evitar o desperdício de tempo computacional em loops de software (chamados polling loops) esperando os eventos que serão disparados por dispositivos. Ao invés de ficarem parados á espera do evento acontecer, os processadores tornaram-se capazes de realizar outras tarefas enquanto os eventos estão pendentes. A interrupção avisa ao processador quando o evento ocorreu, permitindo dessa forma uma acomodação eficiente para dispositivos mais lentos.

Sem comentários:

Enviar um comentário