SlideShare una empresa de Scribd logo
Sincronización de procesos
                                    4.1. Condiciones de competencia.
                                    4.1. Secciones Críticas.
                                    4.2. Exclusión mutua.
                    Tema 4          4.3. Dormir y despertar.
                                    4.4. Semáforos.
                                    4.5. Contadores de eventos.
                                    4.6. Transferencia de mensajes.
                                    4.7. Monitores.
                                   Interbloqueos.
                                   5.1 Recursos y bloqueos
                                     5.1.1 Definición de recurso.
                                     5.1.2 Bloqueos y condiciones de competencia.
                                     5.1.3 Modelación de bloqueos.
                    Tema 5
                                   5.2 Métodos para tratar los bloqueos
                                     5.2.1 Algoritmo del Avestruz
                                     5.2.2 Detección y recuperación de bloqueos.
                                     5.2.3 Evasión de bloqueos.
                                     5.2.4 Prevención de bloqueos.



Sistemas Operativos – Ingeniería Informática
Unidad II
                                                                                Gestión de Procesos


    Interbloqueo

      Problema que afecta a procesos concurrentes que utilizan recursos en un sistema.


      Esquema de interacción procesos-recursos:
      • Un proceso, a través de una llamada al sistema, solicita recursos.
      • Usa esos recursos, en caso de que estén disponibles.
      • A través de una llamada al sistema, el proceso libera los recursos cuando ya no los
            necesita.


      Ejemplo: Considere dos procesos y dos recursos. Supón que cada proceso necesita
            acceder a ambos recursos para llevar a cabo una parte de su función. Puede
            suceder que el sistema operativo asigne R1 a P1 y R2 a P2. Cada proceso está
            esperando uno de los dos recursos. Ninguno liberará el recurso que posee
            hasta que adquiera el otro y realice su tarea.




Sistemas Operativos – Ingeniería Informática                                        Tema 5 Interbloqueos
Unidad II
                                                                       Gestión de Procesos


    Interbloqueo

         El problema del interbloqueo:
         E Situación de un conjunto de procesos bloqueados, cada uno de ellos
         esperando por un recurso que retiene otro proceso de ese conjunto.
         • Ningún proceso del conjunto puede avanzar.
         • Interbloqueo, bloqueo mutuo, abrazo mortal (deadlock).




Sistemas Operativos – Ingeniería Informática                               Tema 5 Interbloqueos
Unidad II
                                                                              Gestión de Procesos


    Caracterización del Interbloqueo



             Grafo de asignación de recursos:
             Sirve para describir el interbloqueo, consta de un conjunto de vértices y
             un conjunto de flechas.


             Vértices: procesos y recursos.
             Flechas:
             • De asignación (Rj→Pi), indican que el recurso j se asignóal proceso i.
             • De solicitud (Pi→Rj), indican que el proceso i solicita el recurso j.
             Instancias: Número de ejemplares que hay de cada recurso.




Sistemas Operativos – Ingeniería Informática                                      Tema 5 Interbloqueos
Unidad II
                                                 Gestión de Procesos


   Caracterización del Interbloqueo


      Ejemplo:

      P = {P1, P2, P3}
      R = {R1, R2, R3, R4}
      F = {P1R1, P2R3, R1P2, R2P2, R2P1, R3P3}

      Instancias:
      • 1 de R1
      • 2 de R2
      • 1 de R3
      • 3 de R4.




Sistemas Operativos – Ingeniería Informática         Tema 5 Interbloqueos
Unidad II
                                               Gestión de Procesos


   Caracterización del Interbloqueo



      Ejemplo de Interbloqueo




Sistemas Operativos – Ingeniería Informática       Tema 5 Interbloqueos
Unidad II
                                                                                                    Gestión de Procesos


   Caracterización del Interbloqueo



     A     B     C          A        B   C     A        B    C   A    B       C   A   B         C       A    B         C



     R     S     T          R        S   T     R        S    T   R    S       T   R   S         T       R    S         T


          a)                    b)                 c)                d)                   e)                 f)



     A     B     C          A     B      C     A        B    C   A   B        C   A   B        C        A    B         C



     R     S     T          R        S   T     R        S    T   R   S        T   R   S        T        R    S         T


            a)                   b)                     c)               d)                e)                     f)




Sistemas Operativos – Ingeniería Informática                                                            Tema 5 Interbloqueos
Unidad II
                                                                          Gestión de Procesos



          Condiciones de Interbloqueo:


          1. Exclusión mutua: Sólo un proceso puede usar un recurso cada vez. Si
          otro proceso solicita ese recurso deberá esperar a que se libere el recurso.
          2. Retención y espera: Un proceso retiene unos recursos mientras
          espera que se le asignen otros.
          3. No expropiación: Un proceso no puede ser forzado a abandonar un
          recurso que retiene.
          4. Espera circular: Existe una cadena cerrada de procesos {P0, P1, ...,
          Pn}, cada uno de los cuales retiene, al menos, un recurso que necesita el
          siguiente proceso de la cadena (P0 espera por P1, P1 por P2, P2 por
          P3, ..., Pn por P0).




Sistemas Operativos – Ingeniería Informática                                  Tema 5 Interbloqueos
Unidad II
                                                                             Gestión de Procesos



      Estrategias para enfrentar los bloqueos:

              1. Ignorar todo el problema (Algoritmo del Avestruz)

              2. Prevención mediante la negación estructural de una de las cuatro
                   condiciones necesarias

              3. Evitarlos en forma dinámica mediante una cuidadosa asignación de
                   recursos. (Predicción)

              4. Detección y recuperación



                     1. El Algoritmo del Avestruz:
                          Esconder la cabeza en la arena para pretender que no existe
                          problema alguno
                     2. Prevención negando cualquiera de las condiciones



Sistemas Operativos – Ingeniería Informática                                     Tema 5 Interbloqueos
Unidad II
                                                                          Gestión de Procesos


     Estrategias para enfrentar los bloqueos:

      3. Predicción del Interbloqueo

            Concepto de estado seguro:


            El estado de un sistema viene dado por la asignación actual de recursos
            a los procesos.
            Estado seguro: estado en el que existe, al menos, una secuencia de
            asignación de recursos a los procesos que no lleva al interbloqueo.
            Estado inseguro: estado que no es seguro.
            Sólo concedemos recursos si el estado resultante tras la petición es
            seguro.




Sistemas Operativos – Ingeniería Informática                                  Tema 5 Interbloqueos
Unidad II
                                                                                        Gestión de Procesos


     Estrategias para enfrentar los bloqueos:

      3. Predicción del Interbloqueo

                    E   =    { 6 , 3 , 4 , 2 }             A =       {1 , 0 , 2 , 0 }



                                   A     3     0   1   1         A     1    1   0   0
                                   B     0     1   0   0         B     0    1   1   2
                                   C     1     1   1   0         C     3    1   0   0
                                   D     1     1   0   1         D     0    0   1   0
                                   E     0     0   0   0         E     2    1   1   0

                                Recursos Asignados           Recursos Necesarios

                                                                           Recursos:
                                                                           -Unidades de cinta
                                                                           -Plotter
                                                                           -Impresoras
                                                                           -CD-ROM
Sistemas Operativos – Ingeniería Informática                                                Tema 5 Interbloqueos
Unidad II
                                                                                         Gestión de Procesos


     Estrategias para enfrentar los bloqueos:

      3. Predicción del Interbloqueo
                                  A     B      C
        Existencia = { 10 , 5 , 7 }                            Disponibles {3 , 3 , 2 }

                                        A              B   C                    A    B        C


                        P1          0              1       0        P1      7       5         3

                        P2          2              0       0        P2      3       2         2

                        P3          3              0       2        P3      9       0         2

                        P4          2              1       1        P4      2       2         2

                        P5          0              0       2        P5      4       3         3


                             Recursos Asignados                          Recursos Máximos


                             P2 necesita 1 instancia del recurso A y 2 instancias del recurso C



Sistemas Operativos – Ingeniería Informática                                                 Tema 5 Interbloqueos
Unidad II
                                                                   Gestión de Procesos


     Estrategias para enfrentar los bloqueos:

      4. Detección y Recuperación del Interbloqueo


                 4.1 Detección:
                             a) Un recurso de cada tipo
                             b) Varios recursos de cada tipo
                 4.2 Recuperación:
                             a) Mediante apropiación
                             b) Mediante Rollback
                             c) Mediante eliminación de procesos




Sistemas Operativos – Ingeniería Informática                           Tema 5 Interbloqueos
Unidad II
                                                                   Gestión de Procesos


     Estrategias para enfrentar los bloqueos:

      4. Detección y Recuperación del Interbloqueo

            a) Detección de la forma un recurso de cada tipo




                                R              A       B



                                C              S   D   T       E



                                               F   U           V



                                               W   G




Sistemas Operativos – Ingeniería Informática                           Tema 5 Interbloqueos
Unidad II
                                                                                    Gestión de Procesos


     Estrategias para enfrentar los bloqueos:

      4. Detección y Recuperación del Interbloqueo

            b) Detección de la forma varios recursos de cada
            tipo
                         Recursos en Existencia                             Recursos disponibles


                         E=[4 2            3 1]                         A=[2 1 0 0]

                      Matriz de Asignación actual                           Matriz de Solicitudes


                              0       0        1   0                          2     0    0      1
                C=                                                R=
                              2       0        0   1                          1     0    1      0
                              0       1        2   0                          2     1    0      1
                                                       Recursos:
                                                       -Unidades de cinta
                                                       -Plotter
                                                       -Impresoras
                                                       -CD-ROM
Sistemas Operativos – Ingeniería Informática                                            Tema 5 Interbloqueos
Unidad II
                                                                        Gestión de Procesos


     Estrategias para enfrentar los bloqueos:

      4. Detección y Recuperación del Interbloqueo


                Recuperación del Interbloqueo:


                Un sistema que pretenda recuperarse del interbloqueo, debe
                invocar a un algoritmo de deteccióncuando lo considere
                oportuno (de manera más o menos periódica).


                Formas de intentar la recuperación:
                • Terminación de procesos.
                • Expropiación de recursos.




Sistemas Operativos – Ingeniería Informática                                 Tema 5 Interbloqueos
Unidad II
                                                                           Gestión de Procesos


     Estrategias para enfrentar los bloqueos:

      4. Detección y Recuperación del Interbloqueo

                Terminación de procesos:


                Abortando a todos los procesos implicados (muy drástico).
                Efecto negativo: se pierde el trabajo previamente realizado.
                Abortando a uno de los procesos ¿cuál?
                • El que más recursos libere.
                • El que menos tiempo lleve en ejecución.
                Retrocediendo la ejecución de algún proceso.
                Efecto negativo: muy complicado de implementar y necesita que
                elprograma esté diseñado para que pueda retroceder.




Sistemas Operativos – Ingeniería Informática                                   Tema 5 Interbloqueos
Unidad II
                                                                        Gestión de Procesos


     Estrategias para enfrentar los bloqueos:

      4. Detección y Recuperación del Interbloqueo
                Expropiación de recursos:
                Selección de la víctima:
                ¿Qué recursos y de qué procesos se expropian?
                Retroceso:
                Si expropiamos a un recurso de un proceso ¿qué hacemos con ese
                proceso?.
                Orden de los criterios de selección para expropiación de recursos:
                      1. Menor tiempo ya consumido en el procesador.
                      2. Menor número de salidas.
                      3. Menor tiempo restante estimado.
                      4. Menor número total de recursos ya asignados.
                      5. Prioridad más baja.


Sistemas Operativos – Ingeniería Informática                                Tema 5 Interbloqueos
Unidad II
                                                                      Gestión de Procesos


     Estrategias para enfrentar los bloqueos:

         Inanición:
         Para los dos casos de intento de recuperación del interbloqueo (terminación
         de procesos o expropiación de recursos) hay que tener cuidado de no
         provocar la inanición de procesos.


         ¿Qué es la inanición?
         Suponer tres procesos que acceden periódicamente a un recurso. Considera
         que P1 posee el recurso y que P2 y P3 están esperando. Cuando P1 haya
         ejecutado su sección crítica tanto P2 como P3 podrán solicitar el recurso.
         Supón que le le concede el acceso a P3 y que, antes de que termine su
         sección crítica, P1 solicita acceso de nuevo y así sucesivamente, se puede
         llegar a una situación en la que P2 nunca accede al recurso.

                                               Problema de los Filósofos Comensales


Sistemas Operativos – Ingeniería Informática                              Tema 5 Interbloqueos

Más contenido relacionado

La actualidad más candente

Cena de Filósofos
Cena de FilósofosCena de Filósofos
Cena de FilósofosMiguel Cruz
 
Bloqueos mutuos
Bloqueos mutuosBloqueos mutuos
Bloqueos mutuosozkar21
 
Ejercicios interbloqueo
Ejercicios interbloqueoEjercicios interbloqueo
Ejercicios interbloqueoEdgar Farias
 
Cuestionario procesos
Cuestionario procesos Cuestionario procesos
Cuestionario procesos Gabriel Garcia
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores JUANR1022
 
Administración de memoria en java
Administración de memoria en javaAdministración de memoria en java
Administración de memoria en javaLuis Miguel De Bello
 
SO Unidad 3: Administración de memoria y sistemas de archivos
SO Unidad 3: Administración de memoria y sistemas de archivosSO Unidad 3: Administración de memoria y sistemas de archivos
SO Unidad 3: Administración de memoria y sistemas de archivosFranklin Parrales Bravo
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosEmmanuel Fortuna
 
Tecnicas de Conmutacion
Tecnicas de ConmutacionTecnicas de Conmutacion
Tecnicas de Conmutacionjsmaster.in
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesosayreonmx
 
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzanoEsquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzanoJuan Anaya
 
SISTEMAS BASADOS EN CONOCIMIENTOS
SISTEMAS BASADOS EN CONOCIMIENTOSSISTEMAS BASADOS EN CONOCIMIENTOS
SISTEMAS BASADOS EN CONOCIMIENTOSLUIS5111987
 
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniPrototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniRAUL CHIPANA LARICO
 
Preparacion y control del centro de cómputo
Preparacion y control del centro de cómputoPreparacion y control del centro de cómputo
Preparacion y control del centro de cómputoManuel Montenegro
 

La actualidad más candente (20)

Cena de Filósofos
Cena de FilósofosCena de Filósofos
Cena de Filósofos
 
Bloqueos mutuos
Bloqueos mutuosBloqueos mutuos
Bloqueos mutuos
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Ejercicios interbloqueo
Ejercicios interbloqueoEjercicios interbloqueo
Ejercicios interbloqueo
 
Cuestionario procesos
Cuestionario procesos Cuestionario procesos
Cuestionario procesos
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
Administración de memoria en java
Administración de memoria en javaAdministración de memoria en java
Administración de memoria en java
 
SO Unidad 3: Administración de memoria y sistemas de archivos
SO Unidad 3: Administración de memoria y sistemas de archivosSO Unidad 3: Administración de memoria y sistemas de archivos
SO Unidad 3: Administración de memoria y sistemas de archivos
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
 
Tecnicas de Conmutacion
Tecnicas de ConmutacionTecnicas de Conmutacion
Tecnicas de Conmutacion
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
 
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzanoEsquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
 
SISTEMAS BASADOS EN CONOCIMIENTOS
SISTEMAS BASADOS EN CONOCIMIENTOSSISTEMAS BASADOS EN CONOCIMIENTOS
SISTEMAS BASADOS EN CONOCIMIENTOS
 
Capa De Sesion
Capa De SesionCapa De Sesion
Capa De Sesion
 
Interbloqueos
InterbloqueosInterbloqueos
Interbloqueos
 
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniPrototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
 
Ethernet tutorial
Ethernet tutorialEthernet tutorial
Ethernet tutorial
 
Preparacion y control del centro de cómputo
Preparacion y control del centro de cómputoPreparacion y control del centro de cómputo
Preparacion y control del centro de cómputo
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 

Destacado

Interbloqueo sistemas operativos
Interbloqueo  sistemas operativosInterbloqueo  sistemas operativos
Interbloqueo sistemas operativosAndy Lopez
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoTecnologico de pinotepa
 
Proceosos Concurrentes: Interbloqueo e inanicion
Proceosos Concurrentes: Interbloqueo e inanicionProceosos Concurrentes: Interbloqueo e inanicion
Proceosos Concurrentes: Interbloqueo e inanicionJosé Miguel Bello Valera
 
Paper Sistema Operativo Linux
Paper Sistema Operativo Linux Paper Sistema Operativo Linux
Paper Sistema Operativo Linux Krlitos Xavier
 
Ejemplos De Normalizaxion
Ejemplos De NormalizaxionEjemplos De Normalizaxion
Ejemplos De NormalizaxionRafa
 

Destacado (6)

Interbloqueo sistemas operativos
Interbloqueo  sistemas operativosInterbloqueo  sistemas operativos
Interbloqueo sistemas operativos
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un Interbloqueo
 
Proceosos Concurrentes: Interbloqueo e inanicion
Proceosos Concurrentes: Interbloqueo e inanicionProceosos Concurrentes: Interbloqueo e inanicion
Proceosos Concurrentes: Interbloqueo e inanicion
 
Interbloqueos
InterbloqueosInterbloqueos
Interbloqueos
 
Paper Sistema Operativo Linux
Paper Sistema Operativo Linux Paper Sistema Operativo Linux
Paper Sistema Operativo Linux
 
Ejemplos De Normalizaxion
Ejemplos De NormalizaxionEjemplos De Normalizaxion
Ejemplos De Normalizaxion
 

Similar a Clase 5 -_interbloqueo

Similar a Clase 5 -_interbloqueo (20)

Temas de exposiciones teoria de sistemas
Temas de exposiciones teoria de sistemasTemas de exposiciones teoria de sistemas
Temas de exposiciones teoria de sistemas
 
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 2do Parcial (2020 PAO 2)
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 2do Parcial (2020 PAO 2)⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 2do Parcial (2020 PAO 2)
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS EMBEBIDOS, 2do Parcial (2020 PAO 2)
 
Taller interbloqueo
Taller interbloqueo Taller interbloqueo
Taller interbloqueo
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
Unidad 2 sistemas operativos 2011
Unidad 2  sistemas operativos 2011Unidad 2  sistemas operativos 2011
Unidad 2 sistemas operativos 2011
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
 
Sistemas operativos II
Sistemas operativos IISistemas operativos II
Sistemas operativos II
 
Sistemas operativos 2
Sistemas operativos 2Sistemas operativos 2
Sistemas operativos 2
 
Sistemas Operativos ii
Sistemas  Operativos iiSistemas  Operativos ii
Sistemas Operativos ii
 
Sistemas operativos ii
Sistemas operativos iiSistemas operativos ii
Sistemas operativos ii
 
Sistemas operativos ii
Sistemas operativos iiSistemas operativos ii
Sistemas operativos ii
 
So1 Prog
So1 ProgSo1 Prog
So1 Prog
 
Sistemas operativos 05 2010
Sistemas operativos 05   2010Sistemas operativos 05   2010
Sistemas operativos 05 2010
 
Tema3 procesos
Tema3 procesos Tema3 procesos
Tema3 procesos
 
CONCEPTOS AVANZADOS DE SISTEMAS OPERATIVOS
CONCEPTOS AVANZADOS DE SISTEMAS OPERATIVOSCONCEPTOS AVANZADOS DE SISTEMAS OPERATIVOS
CONCEPTOS AVANZADOS DE SISTEMAS OPERATIVOS
 
Intro1
Intro1Intro1
Intro1
 
Kelly salina sistemas operativos
Kelly salina sistemas operativosKelly salina sistemas operativos
Kelly salina sistemas operativos
 
Kelly
KellyKelly
Kelly
 
Kelly salina
Kelly salinaKelly salina
Kelly salina
 
Kelly
KellyKelly
Kelly
 

Clase 5 -_interbloqueo

  • 1. Sincronización de procesos 4.1. Condiciones de competencia. 4.1. Secciones Críticas. 4.2. Exclusión mutua. Tema 4 4.3. Dormir y despertar. 4.4. Semáforos. 4.5. Contadores de eventos. 4.6. Transferencia de mensajes. 4.7. Monitores. Interbloqueos. 5.1 Recursos y bloqueos 5.1.1 Definición de recurso. 5.1.2 Bloqueos y condiciones de competencia. 5.1.3 Modelación de bloqueos. Tema 5 5.2 Métodos para tratar los bloqueos 5.2.1 Algoritmo del Avestruz 5.2.2 Detección y recuperación de bloqueos. 5.2.3 Evasión de bloqueos. 5.2.4 Prevención de bloqueos. Sistemas Operativos – Ingeniería Informática
  • 2. Unidad II Gestión de Procesos Interbloqueo Problema que afecta a procesos concurrentes que utilizan recursos en un sistema. Esquema de interacción procesos-recursos: • Un proceso, a través de una llamada al sistema, solicita recursos. • Usa esos recursos, en caso de que estén disponibles. • A través de una llamada al sistema, el proceso libera los recursos cuando ya no los necesita. Ejemplo: Considere dos procesos y dos recursos. Supón que cada proceso necesita acceder a ambos recursos para llevar a cabo una parte de su función. Puede suceder que el sistema operativo asigne R1 a P1 y R2 a P2. Cada proceso está esperando uno de los dos recursos. Ninguno liberará el recurso que posee hasta que adquiera el otro y realice su tarea. Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 3. Unidad II Gestión de Procesos Interbloqueo El problema del interbloqueo: E Situación de un conjunto de procesos bloqueados, cada uno de ellos esperando por un recurso que retiene otro proceso de ese conjunto. • Ningún proceso del conjunto puede avanzar. • Interbloqueo, bloqueo mutuo, abrazo mortal (deadlock). Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 4. Unidad II Gestión de Procesos Caracterización del Interbloqueo Grafo de asignación de recursos: Sirve para describir el interbloqueo, consta de un conjunto de vértices y un conjunto de flechas. Vértices: procesos y recursos. Flechas: • De asignación (Rj→Pi), indican que el recurso j se asignóal proceso i. • De solicitud (Pi→Rj), indican que el proceso i solicita el recurso j. Instancias: Número de ejemplares que hay de cada recurso. Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 5. Unidad II Gestión de Procesos Caracterización del Interbloqueo Ejemplo: P = {P1, P2, P3} R = {R1, R2, R3, R4} F = {P1R1, P2R3, R1P2, R2P2, R2P1, R3P3} Instancias: • 1 de R1 • 2 de R2 • 1 de R3 • 3 de R4. Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 6. Unidad II Gestión de Procesos Caracterización del Interbloqueo Ejemplo de Interbloqueo Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 7. Unidad II Gestión de Procesos Caracterización del Interbloqueo A B C A B C A B C A B C A B C A B C R S T R S T R S T R S T R S T R S T a) b) c) d) e) f) A B C A B C A B C A B C A B C A B C R S T R S T R S T R S T R S T R S T a) b) c) d) e) f) Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 8. Unidad II Gestión de Procesos Condiciones de Interbloqueo: 1. Exclusión mutua: Sólo un proceso puede usar un recurso cada vez. Si otro proceso solicita ese recurso deberá esperar a que se libere el recurso. 2. Retención y espera: Un proceso retiene unos recursos mientras espera que se le asignen otros. 3. No expropiación: Un proceso no puede ser forzado a abandonar un recurso que retiene. 4. Espera circular: Existe una cadena cerrada de procesos {P0, P1, ..., Pn}, cada uno de los cuales retiene, al menos, un recurso que necesita el siguiente proceso de la cadena (P0 espera por P1, P1 por P2, P2 por P3, ..., Pn por P0). Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 9. Unidad II Gestión de Procesos Estrategias para enfrentar los bloqueos: 1. Ignorar todo el problema (Algoritmo del Avestruz) 2. Prevención mediante la negación estructural de una de las cuatro condiciones necesarias 3. Evitarlos en forma dinámica mediante una cuidadosa asignación de recursos. (Predicción) 4. Detección y recuperación 1. El Algoritmo del Avestruz: Esconder la cabeza en la arena para pretender que no existe problema alguno 2. Prevención negando cualquiera de las condiciones Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 10. Unidad II Gestión de Procesos Estrategias para enfrentar los bloqueos: 3. Predicción del Interbloqueo Concepto de estado seguro: El estado de un sistema viene dado por la asignación actual de recursos a los procesos. Estado seguro: estado en el que existe, al menos, una secuencia de asignación de recursos a los procesos que no lleva al interbloqueo. Estado inseguro: estado que no es seguro. Sólo concedemos recursos si el estado resultante tras la petición es seguro. Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 11. Unidad II Gestión de Procesos Estrategias para enfrentar los bloqueos: 3. Predicción del Interbloqueo E = { 6 , 3 , 4 , 2 } A = {1 , 0 , 2 , 0 } A 3 0 1 1 A 1 1 0 0 B 0 1 0 0 B 0 1 1 2 C 1 1 1 0 C 3 1 0 0 D 1 1 0 1 D 0 0 1 0 E 0 0 0 0 E 2 1 1 0 Recursos Asignados Recursos Necesarios Recursos: -Unidades de cinta -Plotter -Impresoras -CD-ROM Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 12. Unidad II Gestión de Procesos Estrategias para enfrentar los bloqueos: 3. Predicción del Interbloqueo A B C Existencia = { 10 , 5 , 7 } Disponibles {3 , 3 , 2 } A B C A B C P1 0 1 0 P1 7 5 3 P2 2 0 0 P2 3 2 2 P3 3 0 2 P3 9 0 2 P4 2 1 1 P4 2 2 2 P5 0 0 2 P5 4 3 3 Recursos Asignados Recursos Máximos P2 necesita 1 instancia del recurso A y 2 instancias del recurso C Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 13. Unidad II Gestión de Procesos Estrategias para enfrentar los bloqueos: 4. Detección y Recuperación del Interbloqueo 4.1 Detección: a) Un recurso de cada tipo b) Varios recursos de cada tipo 4.2 Recuperación: a) Mediante apropiación b) Mediante Rollback c) Mediante eliminación de procesos Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 14. Unidad II Gestión de Procesos Estrategias para enfrentar los bloqueos: 4. Detección y Recuperación del Interbloqueo a) Detección de la forma un recurso de cada tipo R A B C S D T E F U V W G Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 15. Unidad II Gestión de Procesos Estrategias para enfrentar los bloqueos: 4. Detección y Recuperación del Interbloqueo b) Detección de la forma varios recursos de cada tipo Recursos en Existencia Recursos disponibles E=[4 2 3 1] A=[2 1 0 0] Matriz de Asignación actual Matriz de Solicitudes 0 0 1 0 2 0 0 1 C= R= 2 0 0 1 1 0 1 0 0 1 2 0 2 1 0 1 Recursos: -Unidades de cinta -Plotter -Impresoras -CD-ROM Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 16. Unidad II Gestión de Procesos Estrategias para enfrentar los bloqueos: 4. Detección y Recuperación del Interbloqueo Recuperación del Interbloqueo: Un sistema que pretenda recuperarse del interbloqueo, debe invocar a un algoritmo de deteccióncuando lo considere oportuno (de manera más o menos periódica). Formas de intentar la recuperación: • Terminación de procesos. • Expropiación de recursos. Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 17. Unidad II Gestión de Procesos Estrategias para enfrentar los bloqueos: 4. Detección y Recuperación del Interbloqueo Terminación de procesos: Abortando a todos los procesos implicados (muy drástico). Efecto negativo: se pierde el trabajo previamente realizado. Abortando a uno de los procesos ¿cuál? • El que más recursos libere. • El que menos tiempo lleve en ejecución. Retrocediendo la ejecución de algún proceso. Efecto negativo: muy complicado de implementar y necesita que elprograma esté diseñado para que pueda retroceder. Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 18. Unidad II Gestión de Procesos Estrategias para enfrentar los bloqueos: 4. Detección y Recuperación del Interbloqueo Expropiación de recursos: Selección de la víctima: ¿Qué recursos y de qué procesos se expropian? Retroceso: Si expropiamos a un recurso de un proceso ¿qué hacemos con ese proceso?. Orden de los criterios de selección para expropiación de recursos: 1. Menor tiempo ya consumido en el procesador. 2. Menor número de salidas. 3. Menor tiempo restante estimado. 4. Menor número total de recursos ya asignados. 5. Prioridad más baja. Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos
  • 19. Unidad II Gestión de Procesos Estrategias para enfrentar los bloqueos: Inanición: Para los dos casos de intento de recuperación del interbloqueo (terminación de procesos o expropiación de recursos) hay que tener cuidado de no provocar la inanición de procesos. ¿Qué es la inanición? Suponer tres procesos que acceden periódicamente a un recurso. Considera que P1 posee el recurso y que P2 y P3 están esperando. Cuando P1 haya ejecutado su sección crítica tanto P2 como P3 podrán solicitar el recurso. Supón que le le concede el acceso a P3 y que, antes de que termine su sección crítica, P1 solicita acceso de nuevo y así sucesivamente, se puede llegar a una situación en la que P2 nunca accede al recurso. Problema de los Filósofos Comensales Sistemas Operativos – Ingeniería Informática Tema 5 Interbloqueos