Conhecendo as Interrupções de Sistema / IRQs
Em um PC, a CPU é o componente que controla
todas as outras partes do sistema. Ela se comunica com todos os outros
dispositivos (teclado, mouse, modem, impressora, disco, monitor, etc), e é
responsabilidade da CPU processar em tempo qualquer requerimento que venha de um
destes dispositivos por exemplo: o usuário moveu o mouse de um ponto para
outro, resultando mover no monitor a posição do cursor do mouse,
correspondente ao movimento físico. Assim, várias ações / requerimentos de
um dispositivo, resultam em atividades específicas da CPU relativas à aquele
fato.
Como funciona a interrupção:

Cada dispositivo tem definido um
"despertador" ou "dispositivo de aviso" (ringer).
Isto permitirá que a CPU trabalhe
continuamente no programa (chamado User-program). Se um dispositivo
precisar de ser atendido, ele usa o "ringer" para enviar um "alarme
de sistema" para a CPU . Ela então "interrompe" a
atividade que estava executando e executa as necessidades do dispositivo que a
interrompeu.
Esta é a teoria! Vamos ver como é a
implementação em um PC, que infelizmente apresenta uma estrutura meio
"estranha" devido ao design de implementação dos primeiros PCs de 8
bits:
 |
O design do PC inclui 2 controladores de interrupção,
onde o 2º controlador é "cascateado" na linha de interrupção
2 do 1º controlador.
Devido a este "cascateamento", a
linha de interrupção 2 não fica disponível, entretanto, por
compatibilidade com o design do PC original de 8 bits, esta linha de
interrupção é conectada com a linha 9 no 2º controlador. Isto quer
dizer que se um dispositivo no seu PC estiver configurado para
interrupção 2, na realidade ele estará utilizando a interrupção 9.
|
Estas linhas de interrupção,
são chamadas: "Interrupt Request Lines" ou IRQ.
No Windows 9x,você
poderá ver a lista de definições de IRQs no seu sistema através do caminho:
->
Configurações -> Painel de Controle -> Sistema -> Gerenciador de
Dispositivo -> Computador

Algumas más notícias:
Várias destas linhas de interrupção (IRQs) já estão em uso. Vejamos um
quadro genérico, de como são usadas (algumas diferenças podem ocorrer entre
sistemas):
IRQ: |
Usado por: |
Observações: |
0 |
Timer do Sistema |
Não Disponível |
1 |
Teclado |
Não Disponível |
2 |
cascateado com o 2º controlador |
Não Disponível |
3 |
Porta Serial: COM2 / livre |
Se você tiver dispositivo na
COM2. Caso não tenha nenhum dispositivo serial ligado nela: disponível |
4 |
Porta Serial: COM1 / livre |
Normalmente a COM1 está
instalada e sendo utilizada pelo mouse serial ou pelo modem. Caso tenha
mouse PS/2, e não tenha modem serial instalado:disponível |
5 |
Livre
/ Placa de som |
Reservado para LPT2, caso não
tenha: disponível
Muitas placas de som utilizam este IRQ. |
6 |
Controlador de disco Flexível |
Não Disponível |
7 |
Impressora LPT1 / livre |
Reservado para impressora.
Caso não tenha impressora, ou a mesma seja serial ou usb: disponível |
8 |
Relógio do Sistema |
Não Disponível |
9 |
Livre |
disponível |
10 |
Livre |
disponível
Atenção,
pode estar em uso pela placa de Som ou pela portadora de dispositivo PCI. |
11 |
Livre |
disponível
Normalmente utilizado por placas de vídeo |
12 |
Porta de Mouse PS/2 / livre |
Se você tiver um mouse PS-2: Não
Disponível Caso contrário: disponível |
13 |
Co-Processador Matemático |
Não
Disponível |
14 |
Controlador IDE Primário |
Não
Disponível (a não ser que você só possua dispositivos
SCSI) |
15 |
Controlador IDE Secundário |
Não Disponível
(a não ser que você só possua
dispositivos SCSI) |
Placas de rede, normalmente são configuradas
com IRQs: 5 ou 10 (atenção para conflitos com placa de som)
Em geral, cada dispositivo precisa
de sua própria linha de IRQ "sem dividir" com outro dispositivo! |
Exceção 1: normalmente, COM3 utiliza a
IRQ4 (o mesmo da COM1) e a COM4 usa a IRQ3 (a nesma da COM2). Isto é aceitável
pelo Windows95 e funciona, desde que estes dispositivos usando a mesma
linha de IRQ não sejam utilizados AO MESMO TEMPO.
Exceção 2:
Se o driver fornecido com a placa suportar, dispositivos padrão PCI são
capazes de dividir uma IRQ, desde que seja suportado pelo Sistema
Operacional (o Windows 98 suporta).