You are on page 1of 3

RIGOBERTO PEREZ GARCIA

INTERRUPCIONES Las Interrupciones de hardware son causadas por varias fuentes como por ejemplo son ocasionadas por el reloj el teclado, la impresora, el puerto serie, del disco y entre otras. Las interrupciones de hardware es una seal elctrica producida por un dispositivo fsico del ordenador. Esta seal informa al CPU que el dispositivo requiere atencin es por eso que el CPU detendr el proceso que esta ejecutando para atender la interrupcin, cuando la interrupcin termina la CPU reanuda la ejecucin en donde fue interrumpida, pudiendo ejecutar otra vez el mismo proceso parado o bien iniciar otro. Existe diverso hardware para implementar un controlador de interrupciones, los computadores IBM PC o compatibles, utilizan el controlador de interrupciones programable de Intel 82C59A-2 Cmos o sus chips compatibles. Este controlador ha sido utilizado desde los comienzos del IBM PC, y es bien conocido el espacio de direccionamiento de sus registros en la arquitectura ISA. Incluso en chips ms modernos se ha mantenido la misma localizacin. Interrupcin IRQ Descripcin 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 disquete 0FH 7 LPT1 70H 8 Reloj 71H 9 I/o general 72H 10 I/o general Interrupciones Hardware 73H 11 I/o general 74H 12 I/o general 75H 13 Coprocesador 76H 14 Disco duro 77H 15 I/o general

RIGOBERTO PEREZ GARCIA

Unas de las principales tareas del sistema de manejo de interrupciones es llevar las diferentes interrupciones a los cdigos de manejo de esas interrupciones. El sistema de interrupciones es muy dependiente de la arquitectura, Linux es la medida de lo posible, tratara de que sea independiente de la maquina en la que reside el sistema, para ello el sistema de interrupciones se va a implementar mediante una serie de estructuras de datos y funciones en lenguaje C que facilitarn la portabilidad.

Estructuras de datos para soportar el sistema de interrupciones hardware 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.

INTERRUPCIONES POR SOFTWARE


Las interrupciones de software son eventos sncronos que son provocados por el programa en ejecucin usando una funcin especial del lenguaje, esto puede ocurrir al llamar a las instrucciones INT al realizar una divisin por 0. Este tipo de interrupciones es la forma mas importante que tendrn los programas de ejecutar funciones especiales de DOS o del BIOS. Las funciones que se ejecutan con cada interrupcin software son un estndar en el mundo Algunos de las interrupciones que nos van a ser tiles sern: Interrupcin 14h: acceso al puerto serie por la BIOS. Interrupcin 21h: funciones de DOS. Interrupcin 17h: servicio de acceso a la impresora de la BIOS. Una interrupcin por software, se generar por un programa mientras est ejecutndose. En general acta de la siguiente manera: 1. Un programa que se vena ejecutando luego de su instruccin I5 , llama al Sistema Operativo, por ejemplo para leer un archivo de disco.(cuando un programa necesita un dato exterior , se detiene y pasa a cumplir con las tareas de recoger ese dato) 2. A tal efecto, luego de I5 existe en el programa, la instruccin de cdigo de mquina CD21, simbolizada INT 21 en Assembler, que realiza el requerimiento del paso 1. Puesto que no puede seguir le ejecucin de la instruccin I6 y siguientes del programa hasta que no se haya ledo el disco y est en memoria principal dicho archivo, virtualmente el programa se ha interrumpido, siendo, adems, que luego de INT 21, las instrucciones que se ejecutarn no sern del programa, sino del Sistema Operativo. (Se detiene el programa y ordena en

RIGOBERTO PEREZ GARCIA

este caso mediante INT21 (interrupcin predefinida) que recoge el dato solicitado, para poder seguir el programa que la ordeno)

3. La ejecucin de INT 21 permite hallar la subrutina del Sistema Operativo. 4. Se ejecuta la subrutina del Sistema Operativo que prepara la lectura del disco. 6. Luego de ejecutarse la subrutina del Sistema Operativo, y una vez que se haya ledo el disco y verificado que la lectura es correcta, el Sistema Operativo ordenar reanudar la ejecucin del programa auto-interrumpido en espera. 7. La ejecucin del programa se reanuda.

You might also like