>> Tecnologia Eletrônica >  >> Telefones >> Secretárias Eletrônicas

O Que É um Manipulador de Interrupção (ISR)?

Definição

Uma Rotina de Serviço de Interrupção (ISR) ou manipulador de interrupção é uma função especial executada pela CPU quando ocorre uma interrupção de hardware ou software. Lida com eventos críticos de tempo (E/S, timers, erros) que não podem esperar o fluxo normal do programa.

Como Funciona

  1. Sinal de interrupção chega (ex.: tecla pressionada, disco pronto, pacote de rede).
  2. CPU suspende tarefa atual, salva contexto (PC, flags, registradores).
  3. CPU salta para endereço da ISR na tabela de vetores de interrupção.
  4. ISR executa: lê dispositivo, processa dados, reconhece interrupção.
  5. ISR retorna via IRET (x86) / RETI (8085) — CPU restaura contexto e retoma.

Tarefas Típicas de ISR

  • Ler entrada de teclado/mouse/toque
  • Servir dados serial/USB/rede
  • Lidar com ticks de timer (escalonador)
  • Gerenciar erros de hardware (paridade, page fault)
  • Sinalizar tarefas/semáforos de RTOS

Regras Críticas de Design

  • Mantenha ISRs curtas e rápidas — adie trabalho pesado para threads/tasks.
  • Desabilite interrupções minimamente; use níveis de prioridade.
  • Nunca bloqueie (sem waits, sleeps, mutexes).
  • Seguras para reentrância se dados compartilhados acessados.

Exemplo: ISR de Teclado

Tecla pressionada → interrupção → ISR lê scan code do controlador de teclado → converte para ASCII → coloca em buffer de entrada → sinaliza task de entrada → retorna.

ISRs são essenciais para responsividade em tempo real em kernels de SO, firmware embarcado e drivers de dispositivo.