4
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. 1. Defina interbloqueo: El interbloqueo se puede definir como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros. A diferencia de otros problemas de la gestión concurrente de procesos, no existe una solución eficiente para el caso general. 2. Describa las cuatro condiciones para el interbloqueo: Exclusión mutua: Cada recurso está asignado a un único proceso o está disponible. Retención y espera: Los procesos que tienen, en un momento dado, recursos asignados con anterioridad, pueden solicitar nuevos recursos. No apropiación: Los recursos otorgados con anterioridad no pueden ser forzados a dejar un proceso. El proceso que los posee debe liberarlos en forma explícita. Espera circular: Debe existir una cadena circular de dos o más procesos, cada uno de los cuales espera un recurso poseído por el siguiente miembro de la cadena. 3. Determine una estrategia para la prevención de cada causa del interbloqueo: Los métodos indirectos que consisten en impedir la aparición de alguna de las tres condiciones necesarias para que se dé el interbloqueo. Los métodos directos que consisten en evitar la aparición del círculo vicioso de espera. 4. Determine las estrategias para la detección del interbloqueo: Las estrategias de prevención de interbloqueo son muy conservadoras; resuelven el problema limitando el acceso a recursos e imponiendo restricciones sobre los procesos. En cambio, las estrategias de detección de interbloqueo, no limitan el acceso a recursos ni

Taller interbloqueo

Embed Size (px)

Citation preview

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.

1. Defina interbloqueo:

El interbloqueo se puede definir como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros. A diferencia de otros problemas de la gestión concurrente de procesos, no existe una solución eficiente para el caso general.

2. Describa las cuatro condiciones para el interbloqueo:

Exclusión mutua: Cada recurso está asignado a un único proceso o está disponible.

Retención y espera: Los procesos que tienen, en un momento dado, recursos asignados con anterioridad, pueden solicitar nuevos recursos.

No apropiación: Los recursos otorgados con anterioridad no pueden ser forzados a dejar un  proceso. El proceso que los posee debe liberarlos en forma explícita.

Espera circular: Debe existir una cadena circular de dos o más procesos, cada uno de los cuales espera un recurso poseído por el siguiente miembro de la cadena.

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

Los métodos indirectos que consisten en impedir la aparición de alguna de las tres condiciones necesarias para que se dé el interbloqueo.

Los métodos directos que consisten en evitar la aparición del círculo vicioso de espera.

4. Determine las estrategias para la detección del interbloqueo:

Las estrategias de prevención de interbloqueo son muy conservadoras; resuelven el problema limitando el acceso a recursos e imponiendo restricciones sobre los procesos. En cambio, las estrategias de detección de interbloqueo, no limitan el acceso a recursos ni restringen las acciones del proceso. Con la detección del interbloqueo, se concederán los recursos  que los procesos necesiten siempre que sea posible.  Periódicamente, el S. O.  Ejecuta un algoritmo que permite detectar la condición de círculo vicioso de espera.La detección del interbloqueo es el proceso de determinar si realmente existe un interbloqueo e identificar los procesos  y recursos implicados en él. Una posibilidad 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.

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.

Este método está basado en suponer que un interbloqueo no se presente y que los recursos del sistema que han sido asignados, se liberarán en el momento que otro proceso lo requiera. 

Algoritmo de detección del interbloqueo: Una comprobación para interbloqueo puede hacerse con igual o menor frecuencia que cada solicitud de recursos, dependiendo de qué tan probable es que ocurra un interbloqueo. Comprobar cada solicitud de recursos tiene dos ventajas: Conduce a la detección temprana y el algoritmo es simple, de manera relativa porque se basa en cambios crecientes al estado del sistema. Además, las comprobaciones frecuentes consumen un tiempo considerable de procesador.

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

Esta estrategia consiste en usar distintas estrategias y una estrategia es agrupar los recursos en clases y cada clase cumple una función específica; esta clase en el orden que se describe abajo así es que se ejecuta

Espacio intercambiable: Bloques de memoria en almacenamiento secundario para el intercambio de procesos.

Recursos de procesos: dispositivos asignables, como unidades de cintas y archivos.

Memoria principal: asignable a los procesos en páginas o segmentos. Recursos internos: como canales de E/S.

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

El problema consiste en que hay un plato de espagueti en la mesa y hay 5 filósofos, 5 platos y 5 tenedores; entonces si todos los filósofos están sentados y listos para comer entonces cada filosofo deberá utilizar los dos tenedores de la izquierda y luego el de la derecha, cuando termine deja los dos tenedores en la mesa , pero de todos modos si todos se sientas y se rigen por la primera señal de tomar los tenedores de la izquierda y luego tomar el de la derecha, generara interbloqueo ya que para ejecutar la segunda señal de tomar el tenedor de la derecha, estos estarán siendo utilizados, entonces el filósofo tendrá que esperar hasta que sea desocupado. Otra solución es utilizar 5 tenedores más para que cada filósofo pueda comer sin ningún problema. Otra solución es que pasaran por

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.

lo menos 4 filósofos asegurando que por lo menos utilizando semáforos un filósofo tome los dos tenedores y pueda comer.

7. 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:

TUBOS: Es un buffer circular que permite a dos procesos comunicarse según / .el modelo productor consumidor Entra forma una cola y se ejecuta de

modo FIFO. MENSAJES: Es un bloque de texto con un . tipo asociado UNIX proporciona las

llamadas al sistema msgsnd y msgrcv para que los procesos puedan . enviarse mensajes Cada proceso tiene asociada una , cola de mensajes que .funciona como un buzón de correos

MEMORIA COMPARTIDA: Es una forma muy rápida de comunicación entre procesos que nos proporciona UNIX, trata de un bloque común de memoria virtual compartido por varios procesos. Los procesos pueden leer y escribir en la memoria compartida usando las mismas instrucciones, que la maquina emplea para leer y escribir en otras partes de su espacio de direcciones virtual.

8. 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:

Semáforos: Generan operaciones. Señal: La señal consiste en enviar una señal a una tabla de procesos para

que este se actualice y seguido de esto ejecute alguna acción