Sunteți pe pagina 1din 25

LENGUAJES DE INTERFAZ

1.4 EL CONCEPTO DE INTERRUPCIONES


1.5 LLAMADAS A SERVICIOS DEL SISTEMA
1.6 MODOS DE DIRECCIONAMIENTO
¿QUE ES UNA INTERRUPCIÓN?

• Una interrupción es una operación del hardware que indica a la


CPU que detenga la ejecución de lo que estaba haciendo,
conserva la situación del proceso y envía a la CPU a una
dirección determinada en la que tiene un programa de control
de interrupción o de servicio de interrupciones.
Clases de interrupciones

• INTERRUPCIONES POR SOFTWARE: Son aquellas que son


programables y que podemos cambiar. Las interrupciones de
software podemos llegar a manejarlas y por ello el ensamblador
nos proporciona una instrucción que nos permita poner en
funcionamiento una determinada rutina de interrupción; esta
instrucción es INT.
• INTERRUPCIONES INTERNAS: son aquellas provocadas dentro
del propio procesador por una situación anormal de
funcionamiento de alguna de sus partes.

• INTERRUPCIONES DE HARDWARE: son aquellas provocadas por


los dispositivos periféricos, controladas por un procesador especial
de interrupciones (8259) o IPC (Controlador de Interrupciones
Programable)
• Interrupciones por hardware mascarables. Aquellas en
las que el usuario decide si quiere o no ser
interrumpido.

• Interrupciones por hardware no mascarables (NMI).


Aquellas que siempre interrumpen al programa.
INTERRUPCIONES POR SOFTWARE

• En la familia de procesadores 8088/86 las instrucciones por


software se ejecutan con ayuda de las instrucciones INT e IRET. Se
tienen 256 interrupciones diferentes. Desde la interrupción 0 hasta
la interrupción 255 (FF).
• Asociado con el concepto de interrupciones se tiene un área de
memoria llamada vector de interrupciones la cual contiene las
direcciones de las rutinas de servicio de cada interrupción. Esta
área se encuentra en el segmento 0000:0000
• INT.
Formato INT núm_entero. Ese "núm_entero", asociado a la
instrucción, es un identificativo que nos dice mediante la
aplicación de un algoritmo, la posición de Memoria Interna
donde se encuentra almacenada la dirección de comienzo
de la rutina de tratamiento de esa interrupción.
SERVICIO A DISPOSITIVOS PERIFÉRICOS:

 INT 10H............................................SERVICIO DEL VIDEO


 INT 13H............................................SERVICIOS DE DISKETTE
 INT 14H............................................COMUNICACIONES
 INT 15H............................................SERVICIOS DEL SISTEMA
 INT 16H............................................SERVICIOS DEL TECLADO
 INT 17H............................................SERVICIOS DE IMPRESORA
STATUS DEL EQUIPO:
 INT 11H............................................LISTADO DEL EQUIPO
 INT 12H............................................TAMAÑO DE MEMORIA

HORA Y FECHA:
 INT 1AH............................................HORA Y FECHA

PRINT SCREEN:
 INT 5H.............................................IMPRESIÓN DE PANTALLA
 INT 18H...........................................ACTIVAR LA BASIC-ROM

SERVICOS ESPECIALES:
 INT 19H...........................................ACTIVAR RUTINA DE
ARRANQUE CARGADO
IRET

• La instrucción INT se complementa con la instrucción IRET,


que es la instrucción utilizada por el manejador de
interrupciones para regresar el control del CPU al
programa que ha sido interrumpido.
INTERRUPCION POR HARDWARE
• Las interrupciones tienen distintas prioridades predefinidas que indican que
interrupción tiene mayor prioridad y no puede se interrupida por una de menor
prioridad, así el Registro de Interrupciones Activas (ISR) indica el número de la
interrupción en concreto que se está realizando. Si llega otra interrupción de
hardware con menor o igual prioridad no se ejecutará, pues se asume que aún
está en ejecución la anterior, mientras el ISR esté con su número.
Los IRQ se encuentran numerados, y cada dispositivo hardware
se encuentra asociado a un número IRQ. Por ejemplo, el reloj (en IRQ 0) tiene una
prioridad más alta que el teclado (IRQ 1).
(Interrupt ReQuest - solicitud de interrupción). Canales
utilizados para gestionar dispositivos periféricos. Las IRQ son
las líneas de interrupción que utilizan los dispositivos para
avisar al microprocesador que necesitan su atención.
LLAMADAS AL SISTEMA

• Las llamadas son peticiones a ejecución de rutinas y proporcionan la


interfaz entre el sistema operativo y un programa en ejecución. Estas
llamadas son instrucciones de lenguaje ensamblador y se presentan en los
manuales que emplean los programadores de este lenguaje.

• Las llamadas al sistema para ejecución y el control de programas,


usualmente incluyen un conjunto completo de los servicios accesibles por la
vía del lenguajes de órdenes, tales como: RUN, EXECUTE, ABORT y
planificación relacionada con el tiempo, además los usuarios con las
llamadas del sistema pueden suspender, establecer o cambiar atributos del
tiempo de ejecución de uno ó más programas.
LLAMADAS AL SISTEMA

• Las llamadas del sistema para el gestor de recursos,


proporcionan servicios para la asignación, reserva y
reclamación de los recursos del sistema. Por ejemplo, existen
llamadas del sistema para extender o reducir la cantidad de
memoria poseída por el programa que se llama. Las
llamadas del sistema pueden asignar o reservar otros tipos
de objetos del sistema y después destruir o devolver su
custodia al sistema operativo.
LAS LLAMADAS AL SISTEMA SE PUEDEN AGRUPAR EN
CINCO CATEGORÍAS:

1. Control de proceso (Crear, cargar, ejecutar un


proceso, obtener y establecer atributos, esperar un
suceso, liberar memoria, abortar y terminar
proceso).
2 Manipulación de archivos (Crear, abrir, leer, obtener y
establecer atributos, cerrar y eliminar archivos).

3. Manipulación de periféricos (Solicitar, escribir, leer, obtener y


establecer atributos, liberar periférico).

4. Manipulación de la información (Obtener fecha y hora,


establecer fecha y hora, obtener y establecer datos del
sistema, obtener y establecer atributos).

5. Comunicaciones (Crear conexión, enviar mensajes, recibir


mensajes, transferir información del estado y eliminar
conexión.
MODOS DE DIRECCIONAMIENTO

• Las operaciones se hacen entre registros o registros y


memoria, pero nunca entre memoria y memoria (salvo
algunas operaciones con cadenas de caracteres).

• Los modos de direccionamiento determinan el lugar


en que reside un operando, un resultado o la
siguiente instrucción a ejecutar según el caso.
DIRECCIONAMIENTO DIRECTO

• Es directo cuando la instrucción contiene el


lugar donde se encuentra el operando.

• Según el lugar donde se encuentra el


operando puede ser:
– Direccionamiento directo a registro
– Direccionamiento directo a memoria
Direccionamiento Relativo
• La instrucción indica el desplazamiento del operando
con respecto a un puntero:

– La dirección efectiva es calculada por la unidad de control


sumando, o restando, el desplazamiento al puntero de
referencia que suele estar en un registro.

– Dependiendo del puntero se tienen diferentes modos de


direccionamiento.
Direccionamiento Relativo

• Ventajas • Inconvenientes
– Las instrucciones son más – Se requiere una
compactas. operación adicional para
– El código puede cambiar el cálculo de la dirección
de lugar en el mapa de del operando.
memoria con cambiar el
valor del puntero.
– Gran facilidad de
manejo de estructuras de
datos.
Direccionamiento Indirecto

• La posición indicada por la instrucción no es el operando sino la


dirección de memoria en la que se encuentra, por lo que se necesita
un acceso adicional a memoria.

• La dirección de memoria se puede dar mediante:


– Direccionamiento directo a memoria
– Direccionamiento relativo
• Es posible que se realicen múltiples niveles de indirección.
• Su utilidad más común es la de acceso a diversas informaciones
mediante tablas de punteros
Direccionamiento Implícito

• En la instrucción no se indica explícitamente el


lugar donde se encuentra el operando.

• Requiere que el programador conozca con que


operandos se está trabajando.

S-ar putea să vă placă și