diagrama de actividades!

15
INTERRUPCIONES – ABRAZO MORTAL ALATA REYNOSO MAYITT SISTEMAS OPERATIVOS

Upload: mayitt-alata-reynoso

Post on 30-Jul-2015

20 views

Category:

Documents


0 download

DESCRIPTION

como son los diagramas de actividades

TRANSCRIPT

Page 1: Diagrama de Actividades!

INTERRUPCIONES –ABRAZO MORTAL

ALATA REYNOSO MAYITT

SISTEMAS OPERATIVOS

Page 2: Diagrama de Actividades!

INTERRUPCIONESUna interrupción es un mecanismo que permite

ejecutar un bloque de instrucciones

interrumpiendo la ejecución de un programa, y

luego restablecer la ejecución 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 ejecución como si nada

hubiera pasado.

Page 3: Diagrama de Actividades!

LA GESTIÓN DE LAS INTERRUPCIONES TIENE LAS SIGUIENTES FASES: Petición de interrupción. Cuando la CPU recibe una señal de petición de

interrupción, la mantiene desatendida hasta que termina las

instrucciones que estaba ejecutando. En ese momento atiende la

petición de interrupción. Si se están ejecutando instrucciones del

sistema operativo, puede detener la petición de interrupción hasta

completar la tarea que desarrollaba. Si hubiera varias peticiones de

interrupción pendientes, la CPU determina cuál es la prioridad de

ejecución de esas interrupciones.

Tratamiento de la interrupción. Una vez que se ha atendido la

interrupción, se guarda en memoria la información que hay en la CPU

relativa al programa interrumpido.

Page 4: Diagrama de Actividades!

Ejecución del programa preferente. Comienza o continúa

la ejecución del programa que solicitó la interrupción. Se

termina la ejecución del programa que estaba

atendiendo o se pasa a otra petición de interrupción que

paraliza su ejecución.

Ejecución de rutina de fin de interrupción. La rutina de

fin de interrupción restaura desde la memoria a la CPU

los valores que contenía antes de iniciar la interrupción.

Paso del control al programa interrumpido. Una vez que

la CPU ha restaurado los valores correspondientes al

programa interrumpido continúa la ejecución de ese

programa.

Page 5: Diagrama de Actividades!

CLASES DE INTERRUPCIONES De programa

Generadas por alguna condición que se produce como resultado de la

ejecución de una instrucción, como el desbordamiento aritmético, la

división por cero, el intento de ejecutar una instrucción ilegal de la

máquina 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 operación

ha terminado normalmente o para indicar diversas condiciones de error

por fallo de hardware.

De error

Generadas por fallos tales como un corte de energía o un error de

paridad de la memoria.

Page 6: Diagrama de Actividades!

Las interrupciones internas son generadas por ciertos

eventos que surgen durante la ejecución 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

interrupción varias veces durante un segundo para

mantener la hora actualizada.

INTERRUPCIONES INTERNAS DE HARDWARE

Page 7: Diagrama de Actividades!

Las interrupciones externas las generan los dispositivos

periféricos, como pueden ser: teclado, impresoras,

tarjetas de comunicaciones, etc. También son

generadas por los coprocesadores.

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

función 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 vías de comunicación llamadas puertos.

INTERRUPCIONES EXTERNAS DE HARDWARE

Page 8: Diagrama de Actividades!

Las interrupciones de software pueden ser activadas

directamente por el ensamblador invocando al

número de interrupción deseada con la instrucción

INT.

El uso de las interrupciones nos ayuda en la creación

de programas, utilizándolas nuestros programas

son más cortos, es más fácil entenderlos y

usualmente tienen un mejor desempeño debido en

gran parte a su menor tamaño.

INTERRUPCIONES DE SOFTWARE

Page 9: Diagrama de Actividades!

Este tipo de interrupciones podemos separarlas en dos

categorías: las interrupciones del sistema operativo DOS y las

interrupciones del BIOS.

La diferencia entre ambas es que las interrupciones del sistema

operativo son más fáciles de usar pero también son más lentas

ya que estas interrupciones hacen uso del BIOS para lograr su

cometido, en cambio las interrupciones del BIOS son mucho

más rápidas pero tienen la desventaja que, como son parte del

hardware son muy específicas y pueden variar dependiendo

incluso de la marca del fabricante del circuito.

La elección del tipo de interrupción a utilizar dependerá

únicamente de las características que le quiera dar a su

programa: velocidad (utilizando las del BIOS) o portabilidad

(utilizando las del DOS).

Page 10: Diagrama de Actividades!

Cuando la CPU intenta ejecutar una

instrucción incorrectamente construida,

la unidad de control lanza una excepción

para permitir al SO ejecutar el

tratamiento adecuado. Al contrario que

en una interrupción, la instrucción en

curso es abortada. Las excepciones al

igual que las interrupciones deben estar

identificadas.

EXCEPCIONES

Page 11: Diagrama de Actividades!

Las instrucciones de un programa pueden estar mal

construidas por diversas razones:

El código de operación puede ser incorrecto.

Se intenta realizar alguna operación no definida,

como dividir por cero.

La instrucción puede no estar permitida en el

modo de ejecución actual.

La dirección de algún operando puede ser

incorrecta o se intenta violar alguno de sus

permisos de uso.

CLASES DE EXCEPCIONES

Page 12: Diagrama de Actividades!

ABRAZO MORTALUn conjunto de procesos está en un abrazo mortal cuando todos

los procesos en ese conjunto están esperando un evento que

sólo puede ser causado por otro proceso en el conjunto. Los

eventos a los cuales nos estamos refiriendo son concernientes

con la asignación y liberación de recursos principalmente. Sin

embargo, otro tipo de eventos pueden llevar a la existencia de

abrazos mortales.

En la teoría de los sistemas operativos, se puede definir el

problema del Abrazo Mortal como la situación de un conjunto de

procesos en un estado de espera tal que ninguno de ellos tiene

suficientes criterios para continuar su ejecución.

Page 13: Diagrama de Actividades!

Existen cuatro condiciones que deben cumplirse

para que haya estancamiento. Una situación de

abrazo mortal puede surgir sí y solo sí las

siguientes cuatro condiciones ocurren

simultáneamente en un sistema:

1.      Exclusión Mutua. Los procesos reclaman

control exclusivo de los recursos que pide. Al

menos un recurso es mantenido en un modo no-

compartible.

CONDICIONES NECESARIAS PARA QUE OCURRA UN ABRAZO MORTAL

Page 14: Diagrama de Actividades!

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 están siendo retenidos por otros procesos.

3.      No existe el derecho de desasignar. Los recursos no pueden ser desasignados; esto es, un recurso sólo puede ser liberado voluntariamente por el proceso que lo retiene, después de que el proceso ha terminado su tarea.

4.      Espera Circular. Debe haber una cadena de dos o más procesos, cada uno de los cuales esté esperando un recurso contenido en el siguiente miembro de la cadena.

Page 15: Diagrama de Actividades!

El abrazo mortal es un conjunto de procesos en un estado

de espera tal que ninguno de ellos tiene suficientes

criterios para continuar su ejecución. 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, exclusión 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.

CONCLUSIÓN