SlideShare una empresa de Scribd logo
ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES
                                                                                     SISTEMAS OPERATIVOS
                                    DECANATURA DE INGENIERÍA
                                   Ciencias de la Computación                        DOCENTE
                                    e Ingeniería de Sistemas                         OSCAR W. MENDOZA M.
                                    TALLER INTERBLOQUEO




Integrantes:

Lourdes Castillo
Daniel Alejandro Jiménez
Erick Duvan Saavedra
Miguel Buitrago

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.
ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES
                                                                                     SISTEMAS OPERATIVOS
                                     DECANATURA DE INGENIERÍA
                                    Ciencias de la Computación                       DOCENTE
                                     e Ingeniería de Sistemas                        OSCAR W. MENDOZA M.
                                     TALLER INTERBLOQUEO


        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


   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.
ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES
                                                                                      SISTEMAS OPERATIVOS
                                     DECANATURA DE INGENIERÍA
                                    Ciencias de la Computación                        DOCENTE
                                     e Ingeniería de Sistemas                         OSCAR W. MENDOZA M.
                                     TALLER INTERBLOQUEO


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:


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.

Más contenido relacionado

Similar a Taller Interbloqueo

Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
Cristhian Rosales
 
Taller concurrencia y_exclusion_mutua
Taller concurrencia y_exclusion_mutuaTaller concurrencia y_exclusion_mutua
Taller concurrencia y_exclusion_mutua
hhgomezc
 
Procesos de Sistemas Operativos- plataforma computacional 2
Procesos de Sistemas Operativos- plataforma computacional 2Procesos de Sistemas Operativos- plataforma computacional 2
Procesos de Sistemas Operativos- plataforma computacional 2
Rosmery Rodriguez Reyes
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
Lorena Ramos
 
2° unidad sistemas operativos
2° unidad sistemas operativos2° unidad sistemas operativos
2° unidad sistemas operativos
Crisel777
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
puracastillo
 
Problemas basicos de comunicación
Problemas basicos de comunicaciónProblemas basicos de comunicación
Problemas basicos de comunicación
Alex Acosta
 
Consulta_so e instalacion win 7
 Consulta_so e instalacion win 7 Consulta_so e instalacion win 7
Consulta_so e instalacion win 7
leinyrivera
 
Bloqueos _
Bloqueos _Bloqueos _
Bloqueos _
Ichinose 11
 
Portafolio 2
Portafolio 2Portafolio 2
Portafolio 2
informaticosdel33
 
Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1
honeyjimenez
 
Inteligencia Artificial y Sistemas Expertos
Inteligencia Artificial y Sistemas ExpertosInteligencia Artificial y Sistemas Expertos
Inteligencia Artificial y Sistemas Expertos
CarlosPalacios
 
Inteligencia artificial-y-sistemas-expertos-1195485415209453-4
Inteligencia artificial-y-sistemas-expertos-1195485415209453-4Inteligencia artificial-y-sistemas-expertos-1195485415209453-4
Inteligencia artificial-y-sistemas-expertos-1195485415209453-4
Viri Alejo
 
Clase 3 ene 8
Clase 3 ene 8Clase 3 ene 8
Clase 3 ene 8
Pepe Lascano
 
Modbus eai u5
Modbus eai u5Modbus eai u5
Modbus eai u5
Juan Ascanio Carvajal
 
Sistemas operativos informe
Sistemas operativos informe Sistemas operativos informe
Sistemas operativos informe
J2918
 
Sistemas Operativos
Sistemas Operativos Sistemas Operativos
Sistemas Operativos
J2918
 
:)Resumen
:)Resumen:)Resumen
:)Resumen
irisdelc
 
Procesos_so
Procesos_soProcesos_so
Programasop1
Programasop1Programasop1
Programasop1
Paulo Andrès Vèlez
 

Similar a Taller Interbloqueo (20)

Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
 
Taller concurrencia y_exclusion_mutua
Taller concurrencia y_exclusion_mutuaTaller concurrencia y_exclusion_mutua
Taller concurrencia y_exclusion_mutua
 
Procesos de Sistemas Operativos- plataforma computacional 2
Procesos de Sistemas Operativos- plataforma computacional 2Procesos de Sistemas Operativos- plataforma computacional 2
Procesos de Sistemas Operativos- plataforma computacional 2
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
2° unidad sistemas operativos
2° unidad sistemas operativos2° unidad sistemas operativos
2° unidad sistemas operativos
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
Problemas basicos de comunicación
Problemas basicos de comunicaciónProblemas basicos de comunicación
Problemas basicos de comunicación
 
Consulta_so e instalacion win 7
 Consulta_so e instalacion win 7 Consulta_so e instalacion win 7
Consulta_so e instalacion win 7
 
Bloqueos _
Bloqueos _Bloqueos _
Bloqueos _
 
Portafolio 2
Portafolio 2Portafolio 2
Portafolio 2
 
Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1
 
Inteligencia Artificial y Sistemas Expertos
Inteligencia Artificial y Sistemas ExpertosInteligencia Artificial y Sistemas Expertos
Inteligencia Artificial y Sistemas Expertos
 
Inteligencia artificial-y-sistemas-expertos-1195485415209453-4
Inteligencia artificial-y-sistemas-expertos-1195485415209453-4Inteligencia artificial-y-sistemas-expertos-1195485415209453-4
Inteligencia artificial-y-sistemas-expertos-1195485415209453-4
 
Clase 3 ene 8
Clase 3 ene 8Clase 3 ene 8
Clase 3 ene 8
 
Modbus eai u5
Modbus eai u5Modbus eai u5
Modbus eai u5
 
Sistemas operativos informe
Sistemas operativos informe Sistemas operativos informe
Sistemas operativos informe
 
Sistemas Operativos
Sistemas Operativos Sistemas Operativos
Sistemas Operativos
 
:)Resumen
:)Resumen:)Resumen
:)Resumen
 
Procesos_so
Procesos_soProcesos_so
Procesos_so
 
Programasop1
Programasop1Programasop1
Programasop1
 

Más de Miguel Rey

Taller interbloqueo
Taller interbloqueoTaller interbloqueo
Taller interbloqueo
Miguel Rey
 
Carga y montaje
Carga y montajeCarga y montaje
Carga y montaje
Miguel Rey
 
Correccion del parcial segundo corte
Correccion del parcial segundo corteCorreccion del parcial segundo corte
Correccion del parcial segundo corte
Miguel Rey
 
Taller interbloqueo
Taller interbloqueoTaller interbloqueo
Taller interbloqueo
Miguel Rey
 
Taller interbloqueo
Taller interbloqueoTaller interbloqueo
Taller interbloqueoMiguel Rey
 
Rotativo
RotativoRotativo
Rotativo
Miguel Rey
 

Más de Miguel Rey (6)

Taller interbloqueo
Taller interbloqueoTaller interbloqueo
Taller interbloqueo
 
Carga y montaje
Carga y montajeCarga y montaje
Carga y montaje
 
Correccion del parcial segundo corte
Correccion del parcial segundo corteCorreccion del parcial segundo corte
Correccion del parcial segundo corte
 
Taller interbloqueo
Taller interbloqueoTaller interbloqueo
Taller interbloqueo
 
Taller interbloqueo
Taller interbloqueoTaller interbloqueo
Taller interbloqueo
 
Rotativo
RotativoRotativo
Rotativo
 

Taller Interbloqueo

  • 1. ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES SISTEMAS OPERATIVOS DECANATURA DE INGENIERÍA Ciencias de la Computación DOCENTE e Ingeniería de Sistemas OSCAR W. MENDOZA M. TALLER INTERBLOQUEO Integrantes: Lourdes Castillo Daniel Alejandro Jiménez Erick Duvan Saavedra Miguel Buitrago 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.
  • 2. ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES SISTEMAS OPERATIVOS DECANATURA DE INGENIERÍA Ciencias de la Computación DOCENTE e Ingeniería de Sistemas OSCAR W. MENDOZA M. TALLER INTERBLOQUEO 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 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.
  • 3. ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES SISTEMAS OPERATIVOS DECANATURA DE INGENIERÍA Ciencias de la Computación DOCENTE e Ingeniería de Sistemas OSCAR W. MENDOZA M. TALLER INTERBLOQUEO 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: 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.