SlideShare una empresa de Scribd logo
1 de 19
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

Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
Cristopher Morales Ruiz
 
Mutual Exclusion using Peterson's Algorithm
Mutual Exclusion using Peterson's AlgorithmMutual Exclusion using Peterson's Algorithm
Mutual Exclusion using Peterson's Algorithm
Souvik Roy
 
Bloqueos mutuos
Bloqueos mutuosBloqueos mutuos
Bloqueos mutuos
ozkar21
 
Organización y administración de la memoria virtual
Organización y administración de la memoria virtualOrganización y administración de la memoria virtual
Organización y administración de la memoria virtual
Oscar LS
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un Interbloqueo
Tecnologico de pinotepa
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmos
Abimael hernandez
 

La actualidad más candente (20)

Gestion de procesos Android
Gestion de procesos AndroidGestion de procesos Android
Gestion de procesos Android
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
Chapter 8 - Main Memory
Chapter 8 - Main MemoryChapter 8 - Main Memory
Chapter 8 - Main Memory
 
Mutual exclusion and sync
Mutual exclusion and syncMutual exclusion and sync
Mutual exclusion and sync
 
Operating Systems - Process Synchronization and Deadlocks
Operating Systems - Process Synchronization and DeadlocksOperating Systems - Process Synchronization and Deadlocks
Operating Systems - Process Synchronization and Deadlocks
 
Mergesort
MergesortMergesort
Mergesort
 
Interbloqueo
InterbloqueoInterbloqueo
Interbloqueo
 
Raid
RaidRaid
Raid
 
Mutual Exclusion using Peterson's Algorithm
Mutual Exclusion using Peterson's AlgorithmMutual Exclusion using Peterson's Algorithm
Mutual Exclusion using Peterson's Algorithm
 
Hilo de ejecución
Hilo de ejecuciónHilo de ejecución
Hilo de ejecución
 
Ejercicios interbloqueo
Ejercicios interbloqueoEjercicios interbloqueo
Ejercicios interbloqueo
 
Bloqueos mutuos
Bloqueos mutuosBloqueos mutuos
Bloqueos mutuos
 
Organización y administración de la memoria virtual
Organización y administración de la memoria virtualOrganización y administración de la memoria virtual
Organización y administración de la memoria virtual
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un Interbloqueo
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmos
 
Dining philosopher problem operating system
Dining philosopher problem operating system Dining philosopher problem operating system
Dining philosopher problem operating system
 
Dead Lock
Dead LockDead Lock
Dead Lock
 
BANKER'S ALGORITHM
BANKER'S ALGORITHMBANKER'S ALGORITHM
BANKER'S ALGORITHM
 
Modelo paso de mensajes
Modelo paso de mensajesModelo paso de mensajes
Modelo paso de mensajes
 
Ejercicios en prolog
Ejercicios en prologEjercicios en prolog
Ejercicios en prolog
 

Similar a Clase 5 -_interbloqueo

Temas de exposiciones teoria de sistemas
Temas de exposiciones teoria de sistemasTemas de exposiciones teoria de sistemas
Temas de exposiciones teoria de sistemas
Oswaldo Hechenleitner
 
⭐⭐⭐⭐⭐ 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)
Victor Asanza
 
Taller interbloqueo
Taller interbloqueo Taller interbloqueo
Taller interbloqueo
Vero Mateus
 
Unidad 2 sistemas operativos 2011
Unidad 2  sistemas operativos 2011Unidad 2  sistemas operativos 2011
Unidad 2 sistemas operativos 2011
Abimael hernandez
 
CONCEPTOS AVANZADOS DE SISTEMAS OPERATIVOS
CONCEPTOS AVANZADOS DE SISTEMAS OPERATIVOSCONCEPTOS AVANZADOS DE SISTEMAS OPERATIVOS
CONCEPTOS AVANZADOS DE SISTEMAS OPERATIVOS
Jose Alvino Utp
 

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