ALGORITMO DEL BANQUERO
Integrantes:

-Baylon Huerta, Kevin William
-Del Portal Chiarrella, Gonzalo Abrahan
-Montero Atencia, Lizbeth Giovanna
-Ortiz Saenz, Briceida Sneth
ALGORITMO DEL BANQUERO


   El Algoritmo del banquero es una forma de evitar el
    interbloqueo, propuesta por primera vez por Edsger
    Dijkstra


 Analogía:    Funcionamiento de un banco:
      Los clientes representan a los procesos, que
      tienen un crédito límite
     El dinero representa a los recursos.
     El banquero es el sistema operativo.
ALGORITMO DEL BANQUERO


   El banco confía en que no todos los clientes
    necesitaran su crédito máximo otorgado en forma
    inmediata, por ello reserva menos unidades
    (recursos) de las totales necesarias para dar
    servicio a los clientes.

   El banco también asume que si un cliente
    maximiza su crédito será capaz de terminar sus
    negocios y devolver el dinero a la entidad,
    permitiendo servir a otros clientes.
ALGORITMO DEL BANQUERO

   Así, el uso de este tipo de algoritmo permite
    impedir el interbloqueo, pero supone una serie de
    restricciones:

     Se debe conocer la máxima demanda de recursos por
      anticipado.
     Los procesos deben ser independientes, es decir que
      puedan ser ejecutados en cualquier orden. Por lo tanto
      su ejecución no debe estar forzada por condiciones de
      sincronización.
     Debe haber un número fijo de recursos a utilizar y un
      número fijo de procesos.
     Los procesos no pueden finalizar mientras retengan
      recursos.
ALGORITMO DEL BANQUERO

   Para comprender éste algoritmo es necesario
    que tengamos claros los siguientes conceptos:

       Estado. Es la asignación actual de los recursos a los
        procesos.
       Matriz demanda (o máximo necesario). Son las
        exigencias máximas de recursos para cada proceso.
       Matriz asignación. Son las asignaciones actuales de
        recursos para cada proceso.
       Vector disponible. Cantidad total de recursos sin
        asignar a los procesos.
       Estado seguro. Es un estado en el que existe al
        menos un orden en el que todos los procesos pueden
        ejecutar hasta el final sin generar interbloqueo.
ALGORITMO DEL BANQUERO PARA
UN SOLO RECURSO

Tres estados de asignación de recursos:

              Tiene      Máx.        Tiene      Máx.        Tiene      Máx.

    A           0         6     A      1         6     A      1         6

    B           0         5     B      1         5     B      2         5

    C           0         4     C      2         4     C      2         4

    D           0         7     D      4         7     D      4         4

            Libres: 10              Libres: 2              Libres: 1

                a                      b                      c


       A cada cliente se le ha otorgado cierto numero de unidades
        de crédito.
       El banquero sabe que no todos los clientes van a necesitar
        su crédito máximo de inmediato, así que solo ha reservado
        10 unidades para atenderlos, en lugar de 22
ALGORITMO DEL BANQUERO PARA
    UN SOLO RECURSO

   En cierto momento, la situación es la que muestra en
    la figura b. el banquero puede aplazar cuales quiera de las
    solicitudes, excepto las de C, para así dejar que C termine y
    libere sus cuatro unidades. Con cuatro unidades disponibles el
    banquero puede otorgar a D o a B las unidades que necesite,
    y así de forma sucesiva.

   Pero si B solicitara una unidad mas y se le concediera.
    Tendríamos la situación de la figura c. Que es insegura. Si
    todos los clientes pidieran repetidamente sus préstamos
    máximos, el banquero no podría satisfacer uno de ellos y
    tendríamos un bloqueo irreversible.

   El algoritmo del banquero examina cada solicitud en el
    momento en el que se hace y determina si otorgar lo que se le
    pide conducirá a un estado seguro o no. Si es así concede la
    solicitud; de lo contrario, la pospone.
ALGORITMO DEL BANQUERO PARA
VARIOS RECURSOS


Tenemos 2 matrices:


La de la izquierda
indica     cuantas
instancias      de
cada       recurso
están asignadas
en la actualidad a
cada uno de los 5
procesos.

Se indica que:                La matriz de la derecha cuantos
los recursos existen, E       recursos necesita todavía cada
los recursos poseídos, P      proceso para terminar.
los recursos disponibles, A
ALGORITMO DEL BANQUERO PARA
    VARIOS RECURSOS


   Aquí, los procesos deben plantear sus necesidades de recursos
    totales antes de ejecutarse, para que el sistema pueda calcular
    la matriz de la derecha en cada momento.

   El vector E nos indica que el sistema tiene seis unidades de
    cinta, tres graficadores, cuatro impresoras, y dos unidades de
    Cd-ROM. De estos recursos, 5 unidades de cinta, 3
    graficadores, 2 impresoras y 2 de Cd-ROM están asignados
    actualmente. Estos pueden verse sumando las 4 columnas de
    recursos de las matrices de la izquierda. El vector de los
    recursos disponibles no es más que la diferencia entre lo que el
    sistema tiene y lo que se está usando en el momento.

   El estado actual es seguro.
ALGORITMO DEL BANQUERO PARA
    VARIOS RECURSOS


   Ahora supongamos que el proceso B solicita una
    impresora. Esta solicitud puede concederse porque el
    estado resultante sigue siendo seguro (el proceso de D
    puede terminar, y luego el proceso A o el E, seguidos
    del resto).

   Ahora imaginemos que después de entregar al B uno
    de las dos impresoras restantes, E quiere la última
    impresora; satisfacer esa solicitud reducirá el vector de
    recursos disponibles a (1000), y eso conduciría a un
    bloqueo irreversible. Es evidente que la solicitud de E
    debe aplazarse por el momento.
DEBILIDADES DEL ALGORITMO DEL
BANQUERO

   Requiere que exista un número fijo de recursos asignables, pero
    generalmente no se puede contar con que el número de recursos se
    mantenga siempre constante.
   Requiere que la población de usuarios se mantenga constante, lo
    cual es irrazonable.
   Requiere que el S. O. garantice que todas las peticiones serán
    concedidas en un tiempo finito, pero en la realidad se requieren
    mayores garantías.
   Requiere que los procesos reintegren los recursos en un tiempo
    finito, pero en la realidad se requieren mayores garantías.
   Requiere que los procesos indiquen sus necesidades máximas de
    recursos por adelantado, lo cual generalmente no ocurre.
   Generalmente no es utilizado en S. O. reales.

Algoritmo del baquero

  • 1.
    ALGORITMO DEL BANQUERO Integrantes: -BaylonHuerta, Kevin William -Del Portal Chiarrella, Gonzalo Abrahan -Montero Atencia, Lizbeth Giovanna -Ortiz Saenz, Briceida Sneth
  • 2.
    ALGORITMO DEL BANQUERO  El Algoritmo del banquero es una forma de evitar el interbloqueo, propuesta por primera vez por Edsger Dijkstra  Analogía: Funcionamiento de un banco:  Los clientes representan a los procesos, que tienen un crédito límite  El dinero representa a los recursos.  El banquero es el sistema operativo.
  • 3.
    ALGORITMO DEL BANQUERO  El banco confía en que no todos los clientes necesitaran su crédito máximo otorgado en forma inmediata, por ello reserva menos unidades (recursos) de las totales necesarias para dar servicio a los clientes.  El banco también asume que si un cliente maximiza su crédito será capaz de terminar sus negocios y devolver el dinero a la entidad, permitiendo servir a otros clientes.
  • 4.
    ALGORITMO DEL BANQUERO  Así, el uso de este tipo de algoritmo permite impedir el interbloqueo, pero supone una serie de restricciones:  Se debe conocer la máxima demanda de recursos por anticipado.  Los procesos deben ser independientes, es decir que puedan ser ejecutados en cualquier orden. Por lo tanto su ejecución no debe estar forzada por condiciones de sincronización.  Debe haber un número fijo de recursos a utilizar y un número fijo de procesos.  Los procesos no pueden finalizar mientras retengan recursos.
  • 5.
    ALGORITMO DEL BANQUERO  Para comprender éste algoritmo es necesario que tengamos claros los siguientes conceptos:  Estado. Es la asignación actual de los recursos a los procesos.  Matriz demanda (o máximo necesario). Son las exigencias máximas de recursos para cada proceso.  Matriz asignación. Son las asignaciones actuales de recursos para cada proceso.  Vector disponible. Cantidad total de recursos sin asignar a los procesos.  Estado seguro. Es un estado en el que existe al menos un orden en el que todos los procesos pueden ejecutar hasta el final sin generar interbloqueo.
  • 6.
    ALGORITMO DEL BANQUEROPARA UN SOLO RECURSO Tres estados de asignación de recursos: Tiene Máx. Tiene Máx. Tiene Máx. A 0 6 A 1 6 A 1 6 B 0 5 B 1 5 B 2 5 C 0 4 C 2 4 C 2 4 D 0 7 D 4 7 D 4 4 Libres: 10 Libres: 2 Libres: 1 a b c  A cada cliente se le ha otorgado cierto numero de unidades de crédito.  El banquero sabe que no todos los clientes van a necesitar su crédito máximo de inmediato, así que solo ha reservado 10 unidades para atenderlos, en lugar de 22
  • 7.
    ALGORITMO DEL BANQUEROPARA UN SOLO RECURSO  En cierto momento, la situación es la que muestra en la figura b. el banquero puede aplazar cuales quiera de las solicitudes, excepto las de C, para así dejar que C termine y libere sus cuatro unidades. Con cuatro unidades disponibles el banquero puede otorgar a D o a B las unidades que necesite, y así de forma sucesiva.  Pero si B solicitara una unidad mas y se le concediera. Tendríamos la situación de la figura c. Que es insegura. Si todos los clientes pidieran repetidamente sus préstamos máximos, el banquero no podría satisfacer uno de ellos y tendríamos un bloqueo irreversible.  El algoritmo del banquero examina cada solicitud en el momento en el que se hace y determina si otorgar lo que se le pide conducirá a un estado seguro o no. Si es así concede la solicitud; de lo contrario, la pospone.
  • 8.
    ALGORITMO DEL BANQUEROPARA VARIOS RECURSOS Tenemos 2 matrices: La de la izquierda indica cuantas instancias de cada recurso están asignadas en la actualidad a cada uno de los 5 procesos. Se indica que: La matriz de la derecha cuantos los recursos existen, E recursos necesita todavía cada los recursos poseídos, P proceso para terminar. los recursos disponibles, A
  • 9.
    ALGORITMO DEL BANQUEROPARA VARIOS RECURSOS  Aquí, los procesos deben plantear sus necesidades de recursos totales antes de ejecutarse, para que el sistema pueda calcular la matriz de la derecha en cada momento.  El vector E nos indica que el sistema tiene seis unidades de cinta, tres graficadores, cuatro impresoras, y dos unidades de Cd-ROM. De estos recursos, 5 unidades de cinta, 3 graficadores, 2 impresoras y 2 de Cd-ROM están asignados actualmente. Estos pueden verse sumando las 4 columnas de recursos de las matrices de la izquierda. El vector de los recursos disponibles no es más que la diferencia entre lo que el sistema tiene y lo que se está usando en el momento.  El estado actual es seguro.
  • 10.
    ALGORITMO DEL BANQUEROPARA VARIOS RECURSOS  Ahora supongamos que el proceso B solicita una impresora. Esta solicitud puede concederse porque el estado resultante sigue siendo seguro (el proceso de D puede terminar, y luego el proceso A o el E, seguidos del resto).  Ahora imaginemos que después de entregar al B uno de las dos impresoras restantes, E quiere la última impresora; satisfacer esa solicitud reducirá el vector de recursos disponibles a (1000), y eso conduciría a un bloqueo irreversible. Es evidente que la solicitud de E debe aplazarse por el momento.
  • 11.
    DEBILIDADES DEL ALGORITMODEL BANQUERO  Requiere que exista un número fijo de recursos asignables, pero generalmente no se puede contar con que el número de recursos se mantenga siempre constante.  Requiere que la población de usuarios se mantenga constante, lo cual es irrazonable.  Requiere que el S. O. garantice que todas las peticiones serán concedidas en un tiempo finito, pero en la realidad se requieren mayores garantías.  Requiere que los procesos reintegren los recursos en un tiempo finito, pero en la realidad se requieren mayores garantías.  Requiere que los procesos indiquen sus necesidades máximas de recursos por adelantado, lo cual generalmente no ocurre.  Generalmente no es utilizado en S. O. reales.