A respeito dos sistemas de computadores, responda:
O que são rotinas de interrupção?
O que são rotinas de interrupção?
Passo 1
Beleza, bora lá! O enunciado tá perguntando sobre rotinas de interrupção em sistemas de computadores.
Conteúdo da matéria: arquitetura de computadores e sistemas operacionais (parte de comunicação CPU–dispositivos).
O que vamos precisar: entender o que é uma interrupção, por que ela existe, e como o processador trata isso usando uma rotina de interrupção (também chamada de ISR, do inglês Interrupt Service Routine).
Conteúdo da matéria: arquitetura de computadores e sistemas operacionais (parte de comunicação CPU–dispositivos).
O que vamos precisar: entender o que é uma interrupção, por que ela existe, e como o processador trata isso usando uma rotina de interrupção (também chamada de ISR, do inglês Interrupt Service Routine).
Passo 2
Primeiro, vamos revisar o que é uma interrupção.
Imagine que o processador (CPU) tá executando um programa, linha por linha, sem parar. A interrupção é como se fosse um “pedido de atenção” de algum dispositivo (teclado, mouse, disco, relógio interno etc.) dizendo “ei, para um pouquinho e me atende agora”. Isso acontece de forma assíncrona, ou seja, o dispositivo dispara esse pedido a qualquer momento, não olhando pra que instrução você está executando.
Imagine que o processador (CPU) tá executando um programa, linha por linha, sem parar. A interrupção é como se fosse um “pedido de atenção” de algum dispositivo (teclado, mouse, disco, relógio interno etc.) dizendo “ei, para um pouquinho e me atende agora”. Isso acontece de forma assíncrona, ou seja, o dispositivo dispara esse pedido a qualquer momento, não olhando pra que instrução você está executando.
Passo 3
Quando esse “pedido” chega, o processador interrompe o que ele tava fazendo – daí o nome interrupção – e salva o estado atual (conteúdo dos registradores, contador de programa, etc.). Aí ele pula pra uma rotina de interrupção, que é um trechinho de código especialmente escrito pra tratar aquele evento.
Teoria rápida:
- Cada tipo de interrupção tem um vetor ou número associado.
- Existe uma tabela de vetores de interrupção, que mapeia o número pra um endereço de memória onde tá o início da rotina de tratamento.
Passo 4
O que acontece dentro da rotina de interrupção (ISR)?
- O processador já salvou o estado anterior;
- A ISR faz o trabalho necessário: por exemplo, ler um caractere que chegou do teclado ou enviar um pedaço de dado pro disco;
- A ISR sinaliza ao controlador do dispositivo que o pedido foi atendido;
- A ISR termina com uma instrução especial, tipo
iret
(no x86) oureti
(em alguns microcontroladores), que restaura o estado salvo e devolve o controle ao ponto exato onde o programa principal tinha parado.
Passo 5
Por que isso é útil?
- Eficiência: em vez de ficar “checando” o teclado o tempo todo (polling), o processador faz outra coisa até ser chamado pela interrupção.
- Tempo real: dispositivos críticos (controle de motor, timer do sistema) conseguem resposta rápida sem atrasar demais o sistema.
Resposta
Rotinas de interrupção (ou ISRs) são blocos de código que o processador executa automaticamente quando um dispositivo ou evento externo gera uma interrupção. Elas salvam o estado atual da CPU, tratam o evento (lendo/escrevendo dados ou sinalizando conclusão), e depois usam uma instrução especial para restaurar o estado e retornar ao programa original.