3.2.- IRQ

El IRQ es una petición de interrupción enviada a la CPU para que suspenda su actividad actual y se encargue de los eventos externos como la entrada desde el teclado o la impresión de un documento. En las plataformas x86, las IRQ están numeradas del 0 al 15. Los ordenadores más modernos incluyendo los sistemas x86-64, proporcionan más de 16 interrupciones.

irq

Listado de las IRQ y sus propósitos habituales en los sistemas x86.

El diseño del bus ISA (Industry Estándar Architecture) original hace complicado compartir  una interrupción entre dos dispositivos. La manera ideal sería que cada ISA tuviera su propia interrupción (IRQ). El bus PCI (Peripheral Component InterConnect) hace un poco más fácil compartir las interrupciones, por lo que los dispositivos PCI suelen acabar compartiendo una IRQ. El bus ISA ha dejado de ser habitual en los ordenadores fabricados desde el 2001, aproximadamente.

Podemos explorar él IRQ que se está utilizando para diversos fines examinando el contenido del fichero /proc/interrupts. El modo más habitual es utilizar el comando cat:

irq2

Esta salida muestra los nombres de los drivers que utilizan cada IRQ. Algunos de esos nombres se podrían interpretar como los referidos a usb  o en cambio pueden ser más indescifrables como 0000:00:1f.2. Si no vemos claramente la finalidad de un drive lo podemos buscar en  internet; probablemente encontremos una entrada relevante.

Nota_irq

En este ejemplo vemos que muestra interrupciones hasta el número 34; este sistema admite más de 16 interrupciones base de la arquitectura x86.

irq_advertencia

Si su sistema experimenta conflictos de IRQ, debe reconfigurar uno o más dispositivos para que utilicen distintas IRQ.