Anda di halaman 1dari 15

SISTEMAS OPERATIVOS

ALATA REYNOSO MAYITT

INTERRUPCIONES
Una interrupcin es un mecanismo que permite ejecutar un
bloque de instrucciones interrumpiendo la ejecucin de un programa, y luego restablecer la ejecucin del mismo sin afectarlo directamente. De este modo un programa puede ser interrumpido temporalmente para atender alguna necesidad urgente del computador y luego continuar su ejecucin como si nada hubiera pasado.

LA GESTIN DE LAS INTERRUPCIONES TIENE LAS SIGUIENTES FASES:


Peticin de interrupcin. Cuando la CPU recibe una seal de peticin de

interrupcin, la mantiene desatendida hasta que termina las instrucciones que estaba ejecutando. En ese momento atiende la peticin de interrupcin. Si se estn ejecutando instrucciones del sistema operativo, puede detener la peticin de interrupcin hasta completar la tarea que desarrollaba. Si hubiera varias peticiones de interrupcin pendientes, la CPU determina cul es la prioridad de ejecucin de esas interrupciones.
Tratamiento de la interrupcin. Una vez que se ha atendido la interrupcin, se

guarda en memoria la informacin que hay en la CPU relativa al programa interrumpido.

Ejecucin del programa preferente. Comienza o contina la

ejecucin del programa que solicit la interrupcin. Se termina la ejecucin del programa que estaba atendiendo o se pasa a otra

peticin de interrupcin que paraliza su ejecucin.


Ejecucin de rutina de fin de interrupcin. La rutina de fin de

interrupcin restaura desde la memoria a la CPU los valores que contena antes de iniciar la interrupcin.
Paso del control al programa interrumpido. Una vez que la CPU

ha restaurado los valores correspondientes al programa interrumpido contina la ejecucin de ese programa.

CLASES DE INTERRUPCIONES
De programa Generadas por alguna condicin que se produce como resultado de la ejecucin de una instruccin, como el desbordamiento aritmtico, la divisin por cero, el intento de ejecutar una instruccin ilegal de la mquina o una referencia a una zona de memoria fuera del espacio permitido al usuario. De reloj Generadas por un reloj interno del procesador. Esto permite al sistema operativo llevar a cabo ciertas funciones con determinada regularidad. De E/S Generadas por un controlador de E/S, para indicar que una operacin ha terminado normalmente o para indicar diversas condiciones de error por fallo de hardware. De error Generadas por fallos tales como un corte de energa o un error de paridad de la memoria.

INTERRUPCIONES INTERNAS DE HARDWARE


Las interrupciones internas son generadas por ciertos eventos que surgen durante la ejecucin de un programa. Este tipo de interrupciones son manejadas en su totalidad por el hardware y no es posible modificarlas.

Un ejemplo claro de este tipo de interrupciones es la que


actualiza el contador del reloj interno de la computadora, el hardware hace el llamado a esta interrupcin varias veces durante un segundo para mantener la hora actualizada.

INTERRUPCIONES EXTERNAS DE HARDWARE


Las interrupciones externas las generan los dispositivos perifricos,

como

pueden

ser:
etc.

teclado,
Tambin

impresoras,
son

tarjetas
por

de
los

comunicaciones, coprocesadores.

generadas

No es posible desactivar a las interrupciones externas. Estas interrupciones no son enviadas directamente a la UCP, sino que se mandan a un circuito integrado cuya funcin es exclusivamente manejar este tipo de interrupciones. El circuito, llamado PIC 8259A, si es controlado por la UCP utilizando para tal control una serie de vas de comunicacin llamadas puertos.

INTERRUPCIONES DE SOFTWARE
Las interrupciones de software pueden ser activadas
directamente por el ensamblador invocando al nmero de interrupcin deseada con la instruccin INT. El uso de las interrupciones nos ayuda en la creacin de programas, utilizndolas nuestros programas son ms cortos,

es ms fcil entenderlos y usualmente tienen un mejor


desempeo debido en gran parte a su menor tamao.

Este tipo de interrupciones podemos separarlas en dos categoras: las interrupciones del sistema operativo DOS y las interrupciones del BIOS.

La diferencia entre ambas es que las interrupciones del sistema operativo


son ms fciles de usar pero tambin son ms lentas ya que estas interrupciones hacen uso del BIOS para lograr su cometido, en cambio las interrupciones del BIOS son mucho ms rpidas pero tienen la desventaja que, como son parte del hardware son muy especficas y pueden variar dependiendo incluso de la marca del fabricante del circuito. La eleccin del tipo de interrupcin a utilizar depender nicamente de las caractersticas que le quiera dar a su programa: velocidad (utilizando las del BIOS) o portabilidad (utilizando las del DOS).

EXCEPCIONES
Cuando la CPU intenta ejecutar una instruccin
incorrectamente construida, la unidad de control lanza una excepcin para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una interrupcin, la instruccin en curso es abortada. Las

excepciones al igual que las interrupciones deben estar


identificadas.

CLASES DE EXCEPCIONES
Las instrucciones de un programa pueden estar mal

construidas por diversas razones:


El cdigo de operacin puede ser incorrecto. Se intenta realizar alguna operacin no definida, como

dividir por cero.


La instruccin puede no estar permitida en el modo de

ejecucin actual.
La direccin de algn operando puede ser incorrecta o se

intenta violar alguno de sus permisos de uso.

ABRAZO MORTAL
Un conjunto de procesos est en un abrazo mortal cuando todos los
procesos en ese conjunto estn esperando un evento que slo puede ser causado por otro proceso en el conjunto. Los eventos a los cuales nos

estamos refiriendo son concernientes con la asignacin y liberacin de


recursos principalmente. Sin embargo, otro tipo de eventos pueden llevar a la existencia de abrazos mortales.

En la teora de los sistemas operativos, se puede definir el problema del


Abrazo Mortal como la situacin de un conjunto de procesos en un estado de espera tal que ninguno de ellos tiene suficientes criterios para continuar su ejecucin.

CONDICIONES NECESARIAS PARA QUE OCURRA UN ABRAZO MORTAL


Existen cuatro condiciones que deben cumplirse para que
haya estancamiento. Una situacin de abrazo mortal puede surgir s y solo s las siguientes cuatro condiciones ocurren simultneamente en un sistema: 1. Exclusin Mutua. Los procesos reclaman control

exclusivo de los recursos que pide. Al menos un recurso


es mantenido en un modo no-compartible.

2.

Retener y Esperar. Los procesos que regularmente contienen recursos otorgados antes pueden solicitar nuevos recursos. Debe existir un proceso que retenga al menos un recurso y est esperando para adquirir recursos adicionales que estn siendo retenidos por otros procesos. 3. No existe el derecho de desasignar. Los recursos no pueden ser desasignados; esto es, un recurso slo puede ser liberado voluntariamente por el proceso que lo retiene, despus de que el proceso ha terminado su tarea. 4. Espera Circular. Debe haber una cadena de dos o ms procesos, cada uno de los cuales est esperando un recurso contenido en el siguiente miembro de la cadena.

CONCLUSIN
El abrazo mortal es un conjunto de procesos en un estado de espera tal que ninguno de ellos tiene suficientes criterios para continuar su ejecucin. Cuando cada proceso del conjunto esta esperando por un evento que solo puede ser causado por otro proceso que esta dentro de este conjunto. Entre las condiciones para que se produzca un abrazo mortal tenemos, exclusin mutua, retener y esperar, no existe el derecho de designar y espera circular. Estas cuatro condiciones deben de cumplirse para que pueda ocurrir un abrazo mortal.

Anda mungkin juga menyukai