Вы находитесь на странице: 1из 3

1.

4 El concepto de interrupciones
Una interrupcin de software es una llamada a un procedimiento del sistema
operativo. La mayora de estos procedimientos, llamados manejadores de
interrupciones, proporcionan la capacidad de entrada-salida a los programas de
aplicaciones. Se utilizan para las siguientes tareas:
Mostrar caracteres y cadenas.
Leer caracteres y cadenas del teclado.
Mostrar texto a color.
Abrir y cerrar archivos.
Leer datos de archivos.
Escribir datos en archivos.
Establecer y obtener la hora y fecha del sistema.
Instruccin INT
La instruccin INT (llamada a un procedimiento de interrupcin) llama a una
subrutina del sistema que tambin se conoce como manejador de
interrupciones. Antes de que se ejecute la instruccin INT, deben insertarse uno
o ms parmetros en los registros. Por lo menos, debe moverse al registro AH
un nmero que identifi que al procedimiento especfi co. Dependiendo de la
funcin, tal vez haya que pasar otros valores a la interrupcin en los registros.
La sintaxis es:
INT nmero (en donde nmero es un entero en el rango de 0 a FF
hexadecimal.)
Interrupciones comunes
Las interrupciones de software llaman a rutinas de servicio de interrupciones
(ISRs), que se encuentran en el BIOS o en DOS. Algunas interrupciones de uso
frecuente son:
INT 10h (Servicios de video). Procedimientos que muestran rutinas que
controlan la posicin del cursor,
escriben texto a color, desplazan la pantalla y muestran grfi cos de video.
INT 16h (Servicios de teclado). Procedimientos que leen el teclado y
comprueban su estado.
INT 17h (Servicios de impresora). Procedimientos que inicializan, imprimen
y devuelven el estado de la
impresora.
INT 1Ah (Hora del da). Procedimiento que obtiene el nmero de pulsaciones
del reloj desde que se
encendi el equipo, o establece el contador a un nuevo valor.
INT 1Ch (Interrupcin de temporizador del usuario). Un procedimiento
vaco que se ejecuta 18.2 veces
por segundo.

INT 21h (Servicios de MS-DOS). Procedimientos que proporcionan entradasalida, manejo de archivos
y administracin de memoria. Tambin se conocen como llamadas a funciones
de MS-DOS.

Manejo de interrupciones
El BIOS y MS-DOS contienen manejadores de interrupciones que simplifican la
entrada/salida, as como las tareas bsicas del sistema. Vimos muchos de
stos: las rutinas INT 10h para la manipulacin del video, las rutinas INT 16h
para el teclado, los servicios INT 21h de MS-DOS, etctera. Pero una parte
igualmente importante del sistema operativo es su conjunto de manejadores de
interrupciones, que responden a las interrupciones del hardware. MS-DOS nos
permite sustituir cualquiera de estas rutinas de servicio con nuestras propias
rutinas.
Tabla de vectores de interrupcin
La clave de la fl exibilidad de MS-DOS recae en la tabla de vectores
de interrupcin que se encuentra en los primeros 1024 bytes de RAM
(ubicaciones 0:0 a 0:03FF). La tabla
16-2 contiene un corto ejemplo de entradas en la tabla de vectores. Cada
entrada en la tabla (conocida como
vector de interrupcin) es una direccin tipo segmento-desplazamiento de 32
bits, que apunta a una de las
rutinas de servicio existentes.

En cualquier computadora dada, los valores de los vectores variarn debido a


las distintas versiones del BIOS y de MS-DOS. Cada vector de interrupcin
corresponde a un nmero de interrupcin. En la tabla, la direccin del
manejador de INT 0 (divisin entre cero) es 02C1:5186h. Para obtener el
desplazamiento de cualquier vector de interrupcin, se multiplica su nmero de
interrupcin por 4. Por ende, el desplazamiento del vector para INT 9h es 9 * 4,
o 0024 hexadecimal.

Ejecucin de los manejadores de interrupciones


interrupciones puede ejecutarse en una de dos formas:

Un

manejador

de

1) Un programa de aplicacin que contenga una instruccin INT podra producir


una llamada a la rutina, a lo cual se le conoce como interrupcin de software
2) una interrupcin de hardware ocurre cuando un dispositivo de hardware
(puerto asncrono, teclado, temporizador, etctera) enva una seal al chip
Controlador de interrupciones programable.
Interrupciones de hardware
Una interrupcin de hardware se genera mediante el Controlador de
interrupciones programable (PIC) Intel 8259, el cual indica a la CPU que debe
suspender la ejecucin del programa actual y ejecutar una rutina de servicio de
interrupcin. Por ejemplo, un carcter del teclado que espera en el puerto de
entrada se perdera si la CPU no lo guarda, o los caracteres recibidos del
puerto serial se perderan si no fuera por una rutina controlada por
interrupciones, que los almacena en un bfer.
En ocasiones, los programas deben deshabilitar las interrupciones de hardware
al realizar operaciones delicadas en los registros de segmento y la pila. La
instruccin CLI (borra bandera de interrupcin) deshabilita las interrupciones, y
la instruccin STI (establece bandera de interrupcin) habilita las
interrupciones.
(Irvine, 2008, pgs. 435,436,548,549)

Вам также может понравиться