SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
Sistemas Operativos




                                                                                      Recursos No Apropiables y Apropiables


                                                                                       • Apropiables:
                                                                                          • El sistema puede decidir quitarselo a un proceso.
                                 Sistemas Operativos                 Profesor:
        Your picture here                                                                 • No es de uso exclusivo, es decir puede ser compartido
                                     Ciclo 2012-1              Diaz Muñante Jorge         por muchos procesos en concurrentemente.
                                                                                          • Ejemplo: La memoria
                                                                                       •No apropiables:
                                                                                          • El recurso no puede ser quitado del proceso que lo esta
                                                                                          utilizando sin causarle un daño.

                                 Abrazo Mortal                                            • Ejemplo: La impresora.
                                                                                       En general los bloqueos se producen con recursos
                                                                                       no apropiables




       Interbloqueo                                                                   Ejemplo



                                                                                                                                                    P1




                                                                                         P2


                                                                                                            Recurso 1



                                                                                           Proceso 1                                Proceso 2
       Situación en la que se encuentran un conjunto de procesos,(al menos dos),
       tal que cada proceso del conjunto espera la ocurrencia de un evento que sólo
        puede ser provocado por otro proceso del mismo conjunto.                                             Recurso 2
                                                                                                                                  Modelo de Holt




       Condiciones para el interbloqueo                                               Aleatoriedad del interbloqueo

        Condición             Explicación
        Exclusión mutua       Solo un proceso a la vez puede accesar a un recurso
                                                                                           A                   B                      C
                                                                                           …                   …                     …
        Esperando por         Un proceso retiene al menos un recurso y esta                pedir (R);          pedir (S);            pedir (T);
                              esperando para adquirir un recurso adicional que otro        pedir (S);          pedir (T);            pedir (R);
                              proceso lo tiene                                             …                   …                     …
                                                                                           liberar (R);        liberar (S);          liberar (T);
        No apropiación        Un recurso solo es liberado voluntariamente por el
                                                                                           liberar (S);        liberar (T);          liberar (R);
                              proceso, cuando este finaliza su tarea                       …                   …                     …
        Espera Circular       existe una cadena circular de procesos en la que
                              cada proceso tiene uno o más recursos que son
                              requeridos por el siguiente proceso en la cadena                                 A              R

                                                                                                               B              S

                                                                                                               C              T




Diaz Muñante Jorge                                                                                                                                       1
Sistemas Operativos




       Aleatoriedad del interbloqueo                                                   Enfoques de manejo del Interbloqueo


                                                                                        En general, los interbloqueos no son sencillos de detectar, pues aun
                                                                                        existiendo la posibilidad de que se produzcan, el sistema puede sobrevivir
               A                       B                       C                        durante largo tiempo sin que éste se manifieste.
               …                       …                       …
               pedir (R);              pedir (S);              pedir (T);                Enfoque        Descripción
               pedir (S);              pedir (T);              pedir (R);
                                                                                         Prevención     Asegura que no ocurre fijando reglas
               …                       …                       …
                                                                                                        Infrautilización de recursos
               liberar (R);            liberar (S);            liberar (T);
               liberar (S);            liberar (T);            liberar (R);              Evitar         Analiza el estado de los recursos para determinar si la
               …                       …                       …                                        concesión de un recurso podría llevar al interbloqueo
                                                                                         Detectar y     Analiza el estado de los recursos para detectar el interbloqueo
                                                                                         recuperar      Costo del algoritmo de la detección
                                       A              R                                                 Perdida de trabajo realizado

                                       B              S                                  Ignorar        Utilizada por la mayoría de los SSOO. Incluyendo el UNIX
                                                                                                        Dado la baja probabilidad que ocurra y el costo de
                                                                                                        implementación de un algoritmo para evitarlo
                                       C              T




       Prevención del Interbloqueo

        Havender (Hv68)

        – Negación de la condición de no apropiación
          •    Cada proceso debe de hacer todas sus requisiciones de recursos y
              no puede continuar hasta que todo le haya       sido otorgado.
        – Negación de la condición de posesión y espera
          •    Si a un proceso que retiene recursos asignados se le negó un
              recurso, éste debe de liberar todos los que tenía. Si es necesario los
              puede pedir después.
          Negación de la espera circular
          •    Imponer un orden lineal de los tipos de recursos en todos los
              procesos. Por ejemplo, si un proceso tiene asignados recursos de
              un determinado tipo, éste sólo puede pedir recursos de tipos
              posteriores en el ordenamiento.




       Evitando el interbloqueo el algoritmo                                           Estado Seguro


                                                                                        Un estado seguro es un estado en el cual el sistema puede asignar
       Propuesto por Dijkstra.Banquero:                                                 recursos a los procesos (hasta su máximo) en alguna secuencia, y evitar
             Involucra un banquero que realiza prestamos y                              abrazo mortal. Más formalmente, un estado es seguro sólo si existe una
             recibe pagos de una determinada fuente de                                  secuencia segura
             capital.
             Para autorizar un préstamo es necesario que el
             cliente sea soluble y que no deje en banca rota al
             banco.

       Objetivo algoritmo:
              Dejar al sistema en un estado seguro después de
              asignar recursos




Diaz Muñante Jorge                                                                                                                                                        2
Sistemas Operativos




       Estado Seguro                                                                Estado inseguro

                                                                                     Un estado inseguro no necesariamente implica que se va a producir
                                                                                     abrazo mortal, pero se corre el riesgo.


                                                                                     En cambio, mientras el sistema esté en un estado seguro, no puede
                                                                                     haber abrazo mortal. La clave entonces es no pasar a un estado inseguro




                    Secuencia segura : P2, P1, P3




       Estado No Seguro                                                             Banquero con varios recursos




                                                                                    ProcesoU.Cinta   Plot er Impres. Cd-Rom Proceso U.Cinta Plotter   Impres Cd-Rom
                                                                                       A 3             0 1 1                   A 1 1                    0 0
                                                                                       B 0             1 0 0                   B 0 1                    1 2
                                                                                       C 1             1 0 1                   C 0 0                    1 0
                                                                                       D 1             1 1 0                   D 3 1                    0 0
                                                                                       E 0             0 0 0                   E 2 1                    1 0
                                                                                          Posesión                                  Faltantes
                                                                                                                               16




                                                                                                 Ejemplo
       Banquero con varios recursos
                                                                                      Hay 3 tipos de recursos diferentes (A=10, B=5, C=7) y 5 procesos:


       Recursos Existentes (E),en posesión (P) y disponbles (D)

       Se emplea vectores como E=(6342), P=(5322) y D=(1020)
                                                                                                      Asignado               Maximo        Faltante
                                                                                                      A B C                  A B C         A B C
       1. Buscar una Fila F, cuyas nececisidades de recursos sean menores
                                                                                           P0         0 1 0                  7 5 3         7 4 3
          o iguales a D. Si no existe tal fila, el sistema puede interbloquearse,
          ya que ningún proceso puede ejecutarse hasta el final.                           P1         2 0 0                  3 2 2         1 2 2
                                                                                           P2         3 0 2                  9 0 2         6 0 0
       2. Suponer que el proceso de la fila seleccionada solicita todos los
          recursos que necesita, y termina. Marcar el proceso como terminado               P3         2 1 1                  2 2 2         0 1 1
          y añadir sus recursos al vector D.
                                                                                           P4         0 0 2                  4 3 3         4 3 1
       3. Repetir los pasos 1 y 2 hasta que se vayan marcando todos los                    Disponible 3 3 2
          procesos como terminados o hasta que llegue a una situacion de
          interbloqueo.
                                                                                      Estado seguro: <P1,P3,P4,P2,P0>




Diaz Muñante Jorge                                                                                                                                                    3
Sistemas Operativos




                 Bankers Algorithm (cont’d)                                                     Bankers Algorithm (cont’d)

          <P1,P3,P4,P2,P0>                                                                <P1,P3,P4,P2,P0>
          Todos los requerimientos de P1 pueden ser atendidos
                                                                                          P1 finaliza, P3 puede continuar
                               Asignado        Maximo Faltante
                               A B C           A B C  A B C                                                 Asignado        Maximo Faltante
                 P0            0   1   0       7   5   3 7      4   3                                       A B C           A B C  A B C
                 P1            2   0   0       3   2   2 1      2   2           *              P0           0   1   0       7   5   3 7    4   3
                 P2            3   0   2       9   0   2 6      0   0                          P1           2   0   0       3   2   2 1    2   2
                 P3            2   1   1       2   2   2 0      1   1                          P2           3   0   2       9   0   2 6    0   0
                                                                                *
                 P4            0   0   2       4   3   3 4      3   1                          P3           2   1   1       2   2   2 0    1   1            *
                 Disponible    3   3   2                                                       P4           0   0   2       4   3   3 4    3   1            *
                                                                                               Disponible   5   3   2




                 Bankers Algorithm (cont’d)                                                     Bankers Algorithm (cont’d)

          <P1,P3,P4,P2,P0>                                                                <P1,P3,P4,P2,P0>
          Despues que P3 finaliza, P4 puede continuar                                     Despues P4 finaliza, P2 puede continuar


                           Asignado        Maximo Faltante                                                  Asignado      Maximo Faltante
                           A B C           A B C  A B C                                                     A B C         A B C  A B C
             P0            0   1   0       7   5   3 7    4     3           *                P0             0   1   0     7     5   3 7   4    3        *
             P1            2   0   0       3   2   2 1    2     2                            P1             2   0   0     3     2   2 1   2    2
             P2            3   0   2       9   0   2 6    0     0                            P2             3   0   2     9     0   2 6   0    0        *
                                                                            *
             P3            2   1   1       2   2   2 0    1     1                            P3             2   1   1     2     2   2 0   1    1
             P4            0   0   2       4   3   3 4    3     1                            P4             0   0   2     4     3   3 4   3    1
                                                                            *
             Disponible                                                                      Disponible     7   4   5
                           7   4   3




                 Bankers Algorithm (cont’d)
                                                                                    Tratamiento del interbloqueo
          <P1,P3,P4,P2,P0>
          Despues P2 finaliza, P0 puede continuar                                    Mayoría lo ignora o no da una solución general
                                                                                     Distinción entre dos tipos de recursos:

                          Asignado         Maximo Faltante
                                                                                     – Recursos internos (propios del S.O.)
                          A B C            A B C  A B C                               • • Usados por un proceso en modo sistema
            P0            0    1   0       7   5   3 7    4     3       *             • • Uso restringido a ejecución de una llamada
            P1            2    0   0       3   2   2 1    2     2                     • • Ej. semáforo interno para acceder a t. de procesos o buffer
            P2            3    0   2       9   0   2 6    0     0                     • • Interbloqueo puede causar colapso del sistema
            P3            2    1   1       2   2   2 0    1     1
                                                                                     – Recursos de usuario
            P4            0    0   2       4   3   3 4    3     1
                                                                                      • • Usados por un proceso en modo usuario
            Disponible    10 4     7
                                                                                      • • Uso durante tiempo impredecible
                                                                                      • • Ej. dispositivo dedicado o semáforo de aplicación
                                                                                      • • Interbloqueo afecta a procesos y recursos involucrados




Diaz Muñante Jorge                                                                                                                                              4
Sistemas Operativos




       Tratamiento de interbloqueo

        Tratamiento de recursos internos
        – Código del S.O. es algo que apenas se modifica
          • • Se puede estudiar a priori uso de recursos
          • – Interbloqueo → error de programación de S.O.
        – Uso de estrategias de prevención es adecuado
          • • Dado que tiempo de uso es breve y acotado
        Tratamiento de recursos de usuario
        – Código de procesos que usan recursos es impredecible
        – No hay tratamiento general para todos los recursos
        – Prevención → Infrautilización
        – Predicción → Dificultad de conocer información a priori
        – Detección y recuperación → Demasiada sobrecarga
          • • Puede usarse para un único recurso
          • • P.ej. En 4.4BSD se usa para cerrojos sobre archivos




Diaz Muñante Jorge                                                  5

Más contenido relacionado

Similar a C5 abrazo mortal_ssoo_mododecompatibilidad_

Similar a C5 abrazo mortal_ssoo_mododecompatibilidad_ (8)

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
 
Kelly sistemas operativos
Kelly  sistemas operativosKelly  sistemas operativos
Kelly sistemas operativos
 
Kelly salina
Kelly salinaKelly salina
Kelly salina
 
1modulo2seccion5
1modulo2seccion51modulo2seccion5
1modulo2seccion5
 
Clase 5 -_interbloqueo
Clase 5 -_interbloqueoClase 5 -_interbloqueo
Clase 5 -_interbloqueo
 

Más de Julio Pari

Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...Julio Pari
 
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesLinks kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesJulio Pari
 
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesComandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesJulio Pari
 
Indice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPCIndice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPCJulio Pari
 
Arquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSMArquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSMJulio Pari
 
Jelastic Enterprise
Jelastic EnterpriseJelastic Enterprise
Jelastic EnterpriseJulio Pari
 
Marketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioMarketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioJulio Pari
 
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoIngenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoJulio Pari
 
Documento de Arquitectura
Documento de ArquitecturaDocumento de Arquitectura
Documento de ArquitecturaJulio Pari
 
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISISolucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISIJulio Pari
 
Práctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIPráctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIJulio Pari
 
Armas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasArmas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasJulio Pari
 
Formato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIFormato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIJulio Pari
 
Cuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaCuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaJulio Pari
 
Ingeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialIngeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialJulio Pari
 
Sistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialSistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialJulio Pari
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bdJulio Pari
 
Php06 instalacion my_sql
Php06 instalacion my_sqlPhp06 instalacion my_sql
Php06 instalacion my_sqlJulio Pari
 
Php05 funciones usuario
Php05 funciones usuarioPhp05 funciones usuario
Php05 funciones usuarioJulio Pari
 

Más de Julio Pari (20)

Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
 
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesLinks kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
 
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesComandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
 
Indice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPCIndice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPC
 
Arquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSMArquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSM
 
Jelastic Enterprise
Jelastic EnterpriseJelastic Enterprise
Jelastic Enterprise
 
Marketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioMarketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor Osorio
 
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoIngenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
 
Documento de Arquitectura
Documento de ArquitecturaDocumento de Arquitectura
Documento de Arquitectura
 
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISISolucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
 
Práctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIPráctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa II
 
Armas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasArmas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilas
 
UML Java
UML JavaUML Java
UML Java
 
Formato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIFormato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISI
 
Cuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaCuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hija
 
Ingeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialIngeniería de Software Examen Parcial
Ingeniería de Software Examen Parcial
 
Sistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialSistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen Parcial
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bd
 
Php06 instalacion my_sql
Php06 instalacion my_sqlPhp06 instalacion my_sql
Php06 instalacion my_sql
 
Php05 funciones usuario
Php05 funciones usuarioPhp05 funciones usuario
Php05 funciones usuario
 

C5 abrazo mortal_ssoo_mododecompatibilidad_

  • 1. Sistemas Operativos Recursos No Apropiables y Apropiables • Apropiables: • El sistema puede decidir quitarselo a un proceso. Sistemas Operativos Profesor: Your picture here • No es de uso exclusivo, es decir puede ser compartido Ciclo 2012-1 Diaz Muñante Jorge por muchos procesos en concurrentemente. • Ejemplo: La memoria •No apropiables: • El recurso no puede ser quitado del proceso que lo esta utilizando sin causarle un daño. Abrazo Mortal • Ejemplo: La impresora. En general los bloqueos se producen con recursos no apropiables Interbloqueo Ejemplo P1 P2 Recurso 1 Proceso 1 Proceso 2 Situación en la que se encuentran un conjunto de procesos,(al menos dos), tal que cada proceso del conjunto espera la ocurrencia de un evento que sólo puede ser provocado por otro proceso del mismo conjunto. Recurso 2 Modelo de Holt Condiciones para el interbloqueo Aleatoriedad del interbloqueo Condición Explicación Exclusión mutua Solo un proceso a la vez puede accesar a un recurso A B C … … … Esperando por Un proceso retiene al menos un recurso y esta pedir (R); pedir (S); pedir (T); esperando para adquirir un recurso adicional que otro pedir (S); pedir (T); pedir (R); proceso lo tiene … … … liberar (R); liberar (S); liberar (T); No apropiación Un recurso solo es liberado voluntariamente por el liberar (S); liberar (T); liberar (R); proceso, cuando este finaliza su tarea … … … Espera Circular existe una cadena circular de procesos en la que cada proceso tiene uno o más recursos que son requeridos por el siguiente proceso en la cadena A R B S C T Diaz Muñante Jorge 1
  • 2. Sistemas Operativos Aleatoriedad del interbloqueo Enfoques de manejo del Interbloqueo En general, los interbloqueos no son sencillos de detectar, pues aun existiendo la posibilidad de que se produzcan, el sistema puede sobrevivir A B C durante largo tiempo sin que éste se manifieste. … … … pedir (R); pedir (S); pedir (T); Enfoque Descripción pedir (S); pedir (T); pedir (R); Prevención Asegura que no ocurre fijando reglas … … … Infrautilización de recursos liberar (R); liberar (S); liberar (T); liberar (S); liberar (T); liberar (R); Evitar Analiza el estado de los recursos para determinar si la … … … concesión de un recurso podría llevar al interbloqueo Detectar y Analiza el estado de los recursos para detectar el interbloqueo recuperar Costo del algoritmo de la detección A R Perdida de trabajo realizado B S Ignorar Utilizada por la mayoría de los SSOO. Incluyendo el UNIX Dado la baja probabilidad que ocurra y el costo de implementación de un algoritmo para evitarlo C T Prevención del Interbloqueo Havender (Hv68) – Negación de la condición de no apropiación • Cada proceso debe de hacer todas sus requisiciones de recursos y no puede continuar hasta que todo le haya sido otorgado. – Negación de la condición de posesión y espera • Si a un proceso que retiene recursos asignados se le negó un recurso, éste debe de liberar todos los que tenía. Si es necesario los puede pedir después. Negación de la espera circular • Imponer un orden lineal de los tipos de recursos en todos los procesos. Por ejemplo, si un proceso tiene asignados recursos de un determinado tipo, éste sólo puede pedir recursos de tipos posteriores en el ordenamiento. Evitando el interbloqueo el algoritmo Estado Seguro Un estado seguro es un estado en el cual el sistema puede asignar Propuesto por Dijkstra.Banquero: recursos a los procesos (hasta su máximo) en alguna secuencia, y evitar Involucra un banquero que realiza prestamos y abrazo mortal. Más formalmente, un estado es seguro sólo si existe una recibe pagos de una determinada fuente de secuencia segura capital. Para autorizar un préstamo es necesario que el cliente sea soluble y que no deje en banca rota al banco. Objetivo algoritmo: Dejar al sistema en un estado seguro después de asignar recursos Diaz Muñante Jorge 2
  • 3. Sistemas Operativos Estado Seguro Estado inseguro Un estado inseguro no necesariamente implica que se va a producir abrazo mortal, pero se corre el riesgo. En cambio, mientras el sistema esté en un estado seguro, no puede haber abrazo mortal. La clave entonces es no pasar a un estado inseguro Secuencia segura : P2, P1, P3 Estado No Seguro Banquero con varios recursos ProcesoU.Cinta Plot er Impres. Cd-Rom Proceso U.Cinta Plotter Impres Cd-Rom A 3 0 1 1 A 1 1 0 0 B 0 1 0 0 B 0 1 1 2 C 1 1 0 1 C 0 0 1 0 D 1 1 1 0 D 3 1 0 0 E 0 0 0 0 E 2 1 1 0 Posesión Faltantes 16 Ejemplo Banquero con varios recursos Hay 3 tipos de recursos diferentes (A=10, B=5, C=7) y 5 procesos: Recursos Existentes (E),en posesión (P) y disponbles (D) Se emplea vectores como E=(6342), P=(5322) y D=(1020) Asignado Maximo Faltante A B C A B C A B C 1. Buscar una Fila F, cuyas nececisidades de recursos sean menores P0 0 1 0 7 5 3 7 4 3 o iguales a D. Si no existe tal fila, el sistema puede interbloquearse, ya que ningún proceso puede ejecutarse hasta el final. P1 2 0 0 3 2 2 1 2 2 P2 3 0 2 9 0 2 6 0 0 2. Suponer que el proceso de la fila seleccionada solicita todos los recursos que necesita, y termina. Marcar el proceso como terminado P3 2 1 1 2 2 2 0 1 1 y añadir sus recursos al vector D. P4 0 0 2 4 3 3 4 3 1 3. Repetir los pasos 1 y 2 hasta que se vayan marcando todos los Disponible 3 3 2 procesos como terminados o hasta que llegue a una situacion de interbloqueo. Estado seguro: <P1,P3,P4,P2,P0> Diaz Muñante Jorge 3
  • 4. Sistemas Operativos Bankers Algorithm (cont’d) Bankers Algorithm (cont’d) <P1,P3,P4,P2,P0> <P1,P3,P4,P2,P0> Todos los requerimientos de P1 pueden ser atendidos P1 finaliza, P3 puede continuar Asignado Maximo Faltante A B C A B C A B C Asignado Maximo Faltante P0 0 1 0 7 5 3 7 4 3 A B C A B C A B C P1 2 0 0 3 2 2 1 2 2 * P0 0 1 0 7 5 3 7 4 3 P2 3 0 2 9 0 2 6 0 0 P1 2 0 0 3 2 2 1 2 2 P3 2 1 1 2 2 2 0 1 1 P2 3 0 2 9 0 2 6 0 0 * P4 0 0 2 4 3 3 4 3 1 P3 2 1 1 2 2 2 0 1 1 * Disponible 3 3 2 P4 0 0 2 4 3 3 4 3 1 * Disponible 5 3 2 Bankers Algorithm (cont’d) Bankers Algorithm (cont’d) <P1,P3,P4,P2,P0> <P1,P3,P4,P2,P0> Despues que P3 finaliza, P4 puede continuar Despues P4 finaliza, P2 puede continuar Asignado Maximo Faltante Asignado Maximo Faltante A B C A B C A B C A B C A B C A B C P0 0 1 0 7 5 3 7 4 3 * P0 0 1 0 7 5 3 7 4 3 * P1 2 0 0 3 2 2 1 2 2 P1 2 0 0 3 2 2 1 2 2 P2 3 0 2 9 0 2 6 0 0 P2 3 0 2 9 0 2 6 0 0 * * P3 2 1 1 2 2 2 0 1 1 P3 2 1 1 2 2 2 0 1 1 P4 0 0 2 4 3 3 4 3 1 P4 0 0 2 4 3 3 4 3 1 * Disponible Disponible 7 4 5 7 4 3 Bankers Algorithm (cont’d) Tratamiento del interbloqueo <P1,P3,P4,P2,P0> Despues P2 finaliza, P0 puede continuar Mayoría lo ignora o no da una solución general Distinción entre dos tipos de recursos: Asignado Maximo Faltante – Recursos internos (propios del S.O.) A B C A B C A B C • • Usados por un proceso en modo sistema P0 0 1 0 7 5 3 7 4 3 * • • Uso restringido a ejecución de una llamada P1 2 0 0 3 2 2 1 2 2 • • Ej. semáforo interno para acceder a t. de procesos o buffer P2 3 0 2 9 0 2 6 0 0 • • Interbloqueo puede causar colapso del sistema P3 2 1 1 2 2 2 0 1 1 – Recursos de usuario P4 0 0 2 4 3 3 4 3 1 • • Usados por un proceso en modo usuario Disponible 10 4 7 • • Uso durante tiempo impredecible • • Ej. dispositivo dedicado o semáforo de aplicación • • Interbloqueo afecta a procesos y recursos involucrados Diaz Muñante Jorge 4
  • 5. Sistemas Operativos Tratamiento de interbloqueo Tratamiento de recursos internos – Código del S.O. es algo que apenas se modifica • • Se puede estudiar a priori uso de recursos • – Interbloqueo → error de programación de S.O. – Uso de estrategias de prevención es adecuado • • Dado que tiempo de uso es breve y acotado Tratamiento de recursos de usuario – Código de procesos que usan recursos es impredecible – No hay tratamiento general para todos los recursos – Prevención → Infrautilización – Predicción → Dificultad de conocer información a priori – Detección y recuperación → Demasiada sobrecarga • • Puede usarse para un único recurso • • P.ej. En 4.4BSD se usa para cerrojos sobre archivos Diaz Muñante Jorge 5