Para romper una sequía de varios días sin escribir, me vengo con un pequeño tip que puede resultar más valioso a modo teórico que a modo práctico.
El tip en cuestión es visualizar las interrupciones del procesador en tiempo real.
Entendemos por interrupción a la señal que recibe el procesador que le indica interrumpir, valga la redundancia, el flujo de la ejecución actual para ejecutar otro código para tratar dicha situación (interrupción). En Sistemas Operativos vemos al uso de interrupciones como alternativa al polling.
En Linux, el archivo /proc/interrupts guarda el número de interrupciones por IRQ en la arquitectura x86. Es un archivo estándar con información tabulada en al menos cuatro columnas. En caso de equipos con varios procesadores o procesadores multicore podremos ver una columna más (una por cada CPU adicional).
Un ejemplo del contenido de este archivo puede ser el siguiente:
CPU0 CPU1
0: 97 0 IO-APIC-edge timer
1: 0 2 IO-APIC-edge i8042
4: 0 2 IO-APIC-edge
7: 1 0 IO-APIC-edge
8: 0 0 IO-APIC-edge rtc0
9: 0 0 IO-APIC-fasteoi acpi
12: 0 4 IO-APIC-edge i8042
14: 590 279664 IO-APIC-edge pata_amd
15: 0 0 IO-APIC-edge pata_amd
21: 780 397040 IO-APIC-fasteoi ohci_hcd:usb2
22: 7216 7934003 IO-APIC-fasteoi ehci_hcd:usb1, nvidia
23: 17 6439 IO-APIC-fasteoi sata_nv, HDA Intel
2300: 18575 18126664 PCI-MSI-edge eth0
NMI: 0 0 Non-maskable interrupts
LOC: 4072839 5398580 Local timer interrupts
RES: 918622 654053 Rescheduling interrupts
CAL: 12552 8213 Function call interrupts
TLB: 14280 15894 TLB shootdowns
SPU: 0 0 Spurious interrupts
ERR: 1
MIS: 0
Muy bien, pero si nuestro objetivo es ver las interrupciones en “tiempo real”, simplemente haremos un polling a dicho archivo cada un segundo y valiéndonos del comando watch. Para los desprevenidos, el comando watch nos permite ejecutar un mismo comando cada determinada cantidad de tiempo, de esta forma:
nos muestra el archivo de interrupciones una vez cada segundo, siendo la opción -n1 el tiempo en segundos entre cada ejecución del comando.
Vía: Linux Journal




Luis
junio 15, 2011
Muy bueno el dato. Gracias.
epi
octubre 25, 2011
Mmmm esta chido eso; ps yo tengo conferencias y entre ellas esta la de interrupciones con Linux por eso estaba navegando por la web y me econtré con esto y me pregunto ¿cual es la finalidad de ver esas interrupcioness? disculpen mi ignorancia… bueno gracias….