You are on page 1of 4

Las interrupciones son usadas para permitir al hardware comunicarse con el sistema operativo.

En Linux hay dos tipos de interrupciones: rpidas y lentas. Se podra decir que son tres tipos, considerando el tercero como las llamadas del sistema, tambin desencadenadas por interrupciones. 1. Interrupciones lentas: Son las ms usuales. Se caracterizan porque se puede llevar a cabo otras interrupciones mientras stas son tratadas. Despus de que una interrupcin lenta haya sido procesada, otras tareas adicionales, de carcter peridico, son llevadas a cabo por el sistema (como por ejemplo el Schedule). Un ejemplo tpico de interrupcin lenta es la interrupcin del reloj. 2. Interrupciones rpidas: stas se usan para tareas ms cortas y menos complejas que las comentadas en el apartado anterior. Mientras este tipo de interrupciones son llevadas a cabo, el resto de interrupciones son bloqueadas, a menos que la propia rutina en ejecucin las active. Un ejemplo de este tipo de rutinas es la interrupcin de teclado. En ambos tipos de interrupciones el proceso que se lleva a cabo es muy similar: primero todos los registros son salvados con SAVE_ALL y la interrupcin enva una confirmacin al controlador de interrupciones con ACK. En caso de un sistema con mltiples procesadores, se ejecuta una llamada a la rutina del kernel ENTER_KERNEL para sincronizar el acceso al kernel de los procesadores. Una vez se ha completado la interrupcin, se ejecuta la rutina RESTORE_MOST que devuelve los registros guardados previamente a sus valores iniciales, llamando despus a iret para continuar con el proceso interrumpido.

Las interrupciones hardware son producidas por varias fuentes, por ejemplo del Teclado, cada vez que se presiona una tecla y se suelta se genera una interrupcin. Otras interrupciones son originadas por el reloj, la impresora, el puerto serie, el Disco, etctera. Una interrupcin de tipo hardware es una seal elctrica producida por un dispositivo fsico del ordenador. Esta seal informa a la CPU que el dispositivo requiere su atencin. La CPU parar el proceso que est ejecutando para atender la interrupcin. Cuando la interrupcin termina, la CPU reanuda la ejecucin en donde fue interrumpida, pudiendo ejecutar el proceso parado originalmente o bien otro proceso. Existe un hardware especfico, para que los dispositivos puedan interrumpir lo que Est haciendo la CPU. La propia CPU, tiene entradas especficas para ser Interrumpida INT, cuando se activa esta entrada INT, la CPU para lo que est Haciendo y activa la salida para reconocer la interrupcin INTA, y comienza a ejecutar el cdigo especial que maneja la interrupcin. Algunas CPU disponen de un conjunto especial

de registros, que solo son utilizados en el modo de ejecucin de interrupciones, lo que facilita el trabajo de tratar las interrupciones. La placa base del computador utiliza un controlador para decodificar las Interrupciones que no son ms que seales elctricas producidas por los Dispositivos, coloca en el bus de datos informacin de que dispositivo interrumpi y activa la entrada INT de interrupcin de la CPU. Este chip controlador protege a la CPU y la asla de los dispositivos que interrumpen, adems de proporcionar flexibilidad al diseo del sistema. El controlador de interrupciones tiene un registro de estado para permitir o inhibir las interrupciones en el sistema. 00H - divisin por cero o desbordamiento 02H - NMI (interrupcin no-enmascarable) 04H - desbordamiento (EN) 08H 0 Temporizador del sistema 09H 1 Teclado 0AH 2 Interrupcin del segundo PIC 0BH 3 COM2 0CH 4 COM1 0DH 5 LPT2 0EH 6 disquiet 0FH 7 LPT1 70H 8 Relook 71H 9 I/o general 72H 10 I/o general

Estructura de datos del sistema de interrupciones: irqaction almacena la direccin de la funcin de manejo de interrupciones. irq_chip contiene las funciones que manejan un controlador de interrupciones particular, es dependiente de la arquitectura. irq_desc vector con una entrada para cada una de las interrupciones que pueden ser atendidas.

Las interrupciones por software se comportan de igual manera que las de hardware pero en lugar de ser ejecutadas como consecuencia de una seal fsica, lo hacen con una instruccin.

0 1 2 3 4 5 6 7 8

0 1 2 3 4 5 6 7 8

CPU CPU CPU CPU CPU BIOS CPU CPU HARD

9 10 11

9 0A 0B

HARD HARD HARD

12

0C

HARD

13 14 15

0D 0E 0F

HARD HARD HARD

Divisin por cero Single-step NMI Breakpoint Desbordamiento Aritmtico Imprimir Pantalla Cdigo de operacin invlido Coprocesador no disponible Temporizador del sistema (18,2 ticks por seg) Teclado Mltiplex IRQ3 (normalmente COM2) IRQ4 (normalmente COM1) IRQ5 IRQ6 IRQ7 (normalmente LPT1)

You might also like