Una petición de interrupción IRQ ("Interrupt Request") es una señal que se origina en un dispositivo hardware (por ejemplo, un periférico), para indicar al procesador que algo requiere su atención inmediata; se solicita al procesador que suspenda lo que está haciendo para atender la petición.
Hemos señalado que las interrupciones juegan un papel fundamental, en especial en la operación de dispositivos E/S, ya que les permite enviar estas peticiones a la UCP. Sin ellas el sistema debería chequear constantemente los dispositivos para comprobar su actividad, pero las interrupciones permiten que los dispositivos puedan permanecer en silencio hasta el momento que requieren atención del procesador. ¿Podría figurarse un sistema telefónico donde hubiera que levantar periódicamente el auricular para comprobar si alguien nos llama?
Hemos señalado que las interrupciones juegan un papel fundamental, en especial en la operación de dispositivos E/S, ya que les permite enviar estas peticiones a la UCP. Sin ellas el sistema debería chequear constantemente los dispositivos para comprobar su actividad, pero las interrupciones permiten que los dispositivos puedan permanecer en silencio hasta el momento que requieren atención del procesador. ¿Podría figurarse un sistema telefónico donde hubiera que levantar periódicamente el auricular para comprobar si alguien nos llama?
Nota: Veremos que estas peticiones pueden ser generadas no solo por dispositivos hardware, también por los programas, e incluso en circunstancias especiales (errores generalmente) por el propio procesador. Resumimos que existen tres posibles orígenes de estas peticiones: Hardware, Software, y del procesador. |
IRQ Utilización
0 Cronómetro del sistema
1 Teclado estándar
2 Controlador programable de interrupciones
3 Puerto de comunicaciones (COM2 en windows)
4 Puerto de comunicaciones (COM1 en windows)
5 Tarjeta de sonido o segundo puerto paralelo (LPT2: en Windows)
6 Controlador estándar de disquetes
7 Puerto de impresora (LPT1 en windows)
8 Sistema CMOS/reloj en tiempo real
9 (libre)
10 (libre)
11 Marcador IRQ para manejo de PCI
11 Marcador IRQ para manejo de PCI
11 Marcador IRQ para manejo de PCI
11 Marcador IRQ para manejo de PCI
11 Controlador universal de host Intel 82371AB/EB PCI a USB
11 Crystal SoundFusion(tm) PCI Audio Accelerator
11 Lucent Win Modem
11 Intel(R) PRO/100 SP Mobile Combo Adapter
11 Texas Instruments PCI-1450 CardBus Controller
11 Texas Instruments PCI-1450 CardBus Controller
11 RAGE MOBILITY-M AGP (English)
12 Puerto de mouse compatible con PS/2
13 Procesador de datos numéricos
14 Controlador estándar para disco duro Bus Mastering IDE
15 Controlador estándar para disco duro Bus Mastering IDE
Una vez el sistema esta corriendo, tu puedes explorar que IRQs esta siendo usado examinando el contenido del archivo /proc/interrupts. Una de las formas mas facil de lanzar este comando es de la siguiente manera:
victor@linuxrd:~$ cat /proc/interrupts
CPU0
0: 1152824 IO-APIC-edge timer
1: 7009 IO-APIC-edge i8042
8: 1 IO-APIC-edge rtc0
9: 1370 IO-APIC-fasteoi acpi
12: 10332 IO-APIC-edge i8042
16: 102641 IO-APIC-fasteoi eth0
17: 6189 IO-APIC-fasteoi hda_intel
20: 152041 IO-APIC-fasteoi uhci_hcd:usb2
21: 27641 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb3, sata_via
22: 0 IO-APIC-edge lis3lv02d
23: 0 IO-APIC-fasteoi uhci_hcd:usb4
24: 236358 IO-APIC-fasteoi eth1
NMI: 0 Non-maskable interrupts
LOC: 1836648 Local timer interrupts
SPU: 0 Spurious interrupts
PMI: 0 Performance monitoring interrupts
PND: 0 Performance pending work
RES: 0 Rescheduling interrupts
CAL: 0 Function call interrupts
TLB: 0 TLB shootdowns
TRM: 0 Thermal event interrupts
THR: 0 Threshold APIC interrupts
MCE: 0 Machine check exceptions
MCP: 0 Machine check polls
ERR: 0
MIS: 0
Posted by Víctor S. Recio
1 comments:
Buena publicación, sigue adelante!
Publicar un comentario