taller interbloqueo

5
ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES DECANATURA DE INGENIERÍA Ciencias de la Computación e Ingeniería de Sistemas TALLER INTERBLOQUEO SISTEMAS OPERATIVOS DOCENTE OSCAR W. MENDOZA M. Harold H. Gomez Castillo. Cod: 2009152095 Defina interbloqueo: Es el bloqueo permanente de un conjunto de procesos o hilos de ejecución en un sistema concurrente que compiten por los recursos del sistema o la comunicación entre ellos. Describa las cuatro condiciones para el interbloqueo: 1) EXCLUSION MUTUA: Cada recurso está asignado a un único proceso o está disponible. Sólo un proceso puede usar un recurso simultáneamente. 2) RETENER Y ESPERAR: Debe haber al menos un proceso que retenga un recurso y que haya pedido algún otro recurso que posea otro proceso, por lo que estará esperando. 3) NO APROPIACION: El sistema no puede arrebatar los recursos que ha asignado previamente a los procesos. En otras palabras, un proceso mantiene retenido un recurso hasta que deja de utilizarlo y lo librera voluntariamente. 4) ESPERA CIRCULAR: Existe una cadena cerrada de procesos, cada uno de los cuales retiene, al menos, un recurso que necesita el siguiente proceso de la cadena. Debe existir un conjunto de procesos (P1, P2,P3…) tal que P1 se encuentra esperando un recurso que tiene P2, P2 espera un recurso que tiene P3… Determine una estrategia para la prevención de cada causa del interbloqueo:

Upload: hhgomezc

Post on 11-Aug-2015

102 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Taller interbloqueo

ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALESDECANATURA DE INGENIERÍA

Ciencias de la Computacióne Ingeniería de SistemasTALLER INTERBLOQUEO

SISTEMAS OPERATIVOS

DOCENTEOSCAR W. MENDOZA M.

Harold H. Gomez Castillo.Cod: 2009152095

Defina interbloqueo:

Es el bloqueo permanente de un conjunto de procesos o hilos de ejecución en un sistema concurrente que compiten por los recursos del sistema o la comunicación entre ellos.

Describa las cuatro condiciones para el interbloqueo:

1) EXCLUSION MUTUA:Cada recurso está asignado a un único proceso o está disponible.Sólo un proceso puede usar un recurso simultáneamente.

2) RETENER Y ESPERAR:Debe haber al menos un proceso que retenga un recurso y que haya pedido algún otro recurso que posea otro proceso, por lo que estará esperando.

3) NO APROPIACION:El sistema no puede arrebatar los recursos que ha asignado previamente a los procesos. En otras palabras, un proceso mantiene retenido un recurso hasta que deja de utilizarlo y lo librera voluntariamente.

4) ESPERA CIRCULAR:Existe una cadena cerrada de procesos, cada uno de los cuales retiene, al menos, un recurso que necesita el siguiente proceso de la cadena.Debe existir un conjunto de procesos (P1, P2,P3…) tal que P1 se encuentra esperando un recurso que tiene P2, P2 espera un recurso que tiene P3…

Determine una estrategia para la prevención de cada causa del interbloqueo:

a) EXCLUSION MUTUA: Esto se refiere a que ningún proceso pueda tener acceso exclusivo a un recurso.

b) RETENER Y ESPERAR: La condición de posesión y espera puede ser eliminada haciendo que los procesos soliciten todos los recursos que van a necesitar antes de empezar.

c) NO APROPIACION: Un proceso que retiene ciertos recursos se le niega una nueva solicitud, dicho proceso deberá liberar sus recursos anteriores y solicitarlos de nuevo cuando sea necesario junto con el recurso que iba a solicitar. La otra forma de prevenirse es si un proceso solicita un recurso que actualmente está retenido por otro proceso, el sistema operativo puede expulsar al segundo proceso y exigirle que libere sus recursos este funciona si no hay dos procesos que tengan la misma prioridad

Page 2: Taller interbloqueo

ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALESDECANATURA DE INGENIERÍA

Ciencias de la Computacióne Ingeniería de SistemasTALLER INTERBLOQUEO

SISTEMAS OPERATIVOS

DOCENTEOSCAR W. MENDOZA M.

a) ESPERA CIRCULAR: puede prevenirse definiendo una ordenación lineal de los tipos de recursos por ejemplo, si un proceso se le han asignado recursos de tipo R entonces solo podrá realizar peticiones posteriores sobre los recursos de los tipos siguientes a R en la ordenación. Esta técnica es ineficiente pues retarda procesos y deniega accesos a recursos innecesariamente.

Determine las estrategias para la detección del interbloqueo:

Una posibilidad de detectar un interbloqueo es monitorear cada cierto tiempo el estado de los recursos.

Cada vez que se solicita o se devuelve un recurso, se actualiza el estado de los recursos y se hace una verificación para observar si existe algún ciclo.

Determine en detalle la estrategia integrada del interbloqueo de Silberschatz y Galván:

1. Agrupar los recursos en un número de clases diferentes. 2. Usar la estrategia de ordenación lineal. 3. Dentro de cada clase de recursos emplear el algoritmo más apropiado para dicha clase.

Describa el problema de la cena de los filósofos y sus diferentes soluciones:

El problema consiste en que hay 5 filósofos y un plato de espagueti, del que cada uno va a tomar una parte para comer. Para poder comer necesitan dos tenedores, pero cada filósofo tiene un solo tenedor, lo que necesario que tome el tenedor del compañero de la derecha generando un interbloqueo ya que ninguno podría tomar el otro tenedor del compañero porque lo tiene ocupado.

Soluciones:

Un semáforo que les indique a los filósofos tomar el tenedor de la derecha y luego el de la izquierda, pero no es viable porque si se rigen por el mismos semáforo ninguno tomaría el segundo tenedor y generaría un interbloqueo.

Colocar cinco tenedores más para que cada filósofo tenga dos tenedores.

Enseñarles a comer con un solo tenedor.

Contratar a un mesero que haga entrar a cuatro filósofos y garantizar que al menos uno tenga acceso a los dos tenedores.

Los medios para la comunicación entre procesos en UNIX son los Tubos, los mensajes y la memoria compartida; Describa cada uno de estos medios:

Page 3: Taller interbloqueo

ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALESDECANATURA DE INGENIERÍA

Ciencias de la Computacióne Ingeniería de SistemasTALLER INTERBLOQUEO

SISTEMAS OPERATIVOS

DOCENTEOSCAR W. MENDOZA M.

Tubos: Es un buffer circular que permite a dos procesos comunicarse, donde hay una cola, donde el primero en llegar es el primero en salir, un proceso lee y el otro escribe.Cuando se crea un tubo se le da un tamaño fijo en bytes cuando un proceso intenta escribir en el tubo la solicitud se escritura se ejecuta inmediatamente, si hay suficiente espacio, si no hay el suficiente espacio el proceso se bloquea. Si un proceso intenta leer más byte de los que tiene en el tubo este se bloquea. El sistema operativo se encarga de que al tubo solo pueda acceder un proceso.Hay dos tipos de tubos: con nombre y sin nombre. Sólo procesos afines pueden compartir tubos sin nombre, mientras que los procesos no afines sólo pueden compartir tubos con nombre.

Mensajes: Es un bloque de texto con un tipo asociado. Cada proceso tiene asociado una cola de mensajes que funciona como un buzón de correos.El emisor de mensajes especifica el tipo de mensaje en cada envió y el receptos puede utilizar este dato como criterio de selección. El receptor puede recuperar los mensajes tanto en el orden fifo como por el tipo.Si un proceso intenta leer de una cola vacía se suspenderá pero si intenta leer de cierto tipo y falla el proceso no se suspenderá.

Memoria Compartida: Es la forma más rápida de comunicación entre procesos La memoria compartida es un bloque común de memoria virtual compartido por varios procesos. Los permisos de un proceso son solo lectura o lectura – escritura según el proceso que sea las restricciones de exclusión mutua no forman parte del servicio de memoria compartida estas las suministra el proceso que hace uso de la memoria compartida.

En UNIX los semáforos y las señale se utilizan para provocar acciones en otros procesos; Describa la forma como lo hace cada uno de ellos:

Las señales: son un mecanismo de comunicación entre procesos. Toda señal se identifica dentro mediante un número entero, habiendo un total de 64 en sistemas basados en Linux.

Los semáforos: con un mecanismo de sincronización entre procesos, estos nos permiten asistir al planificador del sistema operativo en su toma de decisiones, de manera que nos permite sincronizar la ejecución de dos o más procesos.