Algoritmo bancario en el sistema operativo [Ejemplo]

¿Qué es el algoritmo bancario?

Algoritmo bancario se utiliza principalmente en el sistema bancario para evitaradlock. Le ayuda a identificar si se otorgará un préstamo o no.

Este algoritmo se utiliza para probar la simulación segura de la asignación para determinar la cantidad máxima disponible para todos los recursos. También verifica todas las actividades posibles antes de determinar si la asignación debe continuar o no.

Por ejemplo, hay X número de titulares de cuentas de un banco específico y la cantidad total de dinero de sus cuentas es G.

Cuando el banco procesa un préstamo para un automóvil, el sistema de software resta el monto del préstamo otorgado para comprar un automóvil del dinero total (G+ Depósito fijo + Plan de ingresos mensuales + Oro, etc.) que tiene el banco.

También verifica que la diferencia sea mayor o no a G. Solo procesa el préstamo del automóvil cuando el banco tiene suficiente dinero, incluso si todos los titulares de la cuenta retiran el dinero G simultáneamente.neoUsualmente

Notaciones del algoritmo bancario

Aquí hay una notación importante utilizada en el algoritmo de Banker:

  • X: Indica el número total de procesos del sistema.
  • Y: Indica el número total de recursos presentes en el sistema.

Disponible

[I: Y] indica qué recurso está disponible.

Max

[l:X,l:Y]: Expresión del número máximo de recursos de tipo j o proceso i

Asignación

[l:X,l:Y]. Indique en qué proceso ha recibido un recurso de tipo j

La necesidad

Exprese cuántos recursos más se pueden asignar en el futuro.

Ejemplo de algoritmo bancario

Supongamos que tenemos el siguientewing recursos:

  • 5 pendrives
  • 2 impresoras
  • 4 escáneres
  • 3 discos duros

Aquí, hemos creado un vector que representa los recursos totales: Disponible = (5, 2, 4, 3).

Supongamos que hay cuatro procesos. Los recursos disponibles ya están asignados según la tabla matricial siguiente.

Nombre del proceso Memoria USB Impresora Escáners disco duro
P 2 0 1 1
Q 0 1 0 0
R 1 0 1 1
S 1 1 0 1
Total 4 2 2 3

Aquí, los recursos asignados son el total de estas columnas:

Asignado = (4, 2, 2, 3).

También creamos una Matriz para mostrar el número de cada recurso requerido para todos los procesos. Esta matriz se llama La necesidad= (3,0,2,2)

Nombre del proceso Memoria USB Impresora Escáners disco duro
P 1 1 0 0
Q 0 1 1 2
R 2 1 0 0
S 0 0 1 0

El vector disponible será:

Disponible=Disponible- Asignado

= (5, 2, 4, 3) -(4, 2, 2, 3)

=(1, 0, 2, 0)

Algoritmo de solicitud de recursos

El algoritmo de solicitud de recursos le permite representar el comportamiento del sistema cuando un proceso específico realiza una solicitud de recursos.

Dejemos entender esto por el siguientewing pasos:

Paso 1) Cuando la instancia total solicitada de todos los recursos es menor que el proceso, continúe con el paso 2.

Paso 2) Cuando una instancia solicitada de todos y cada uno de los tipos de recursos es menor en comparación con los recursos disponibles de cada tipo, se procesará en el siguiente paso. De lo contrario, el proceso deberá esperar debido a la falta de disponibilidad de recursos suficientes.

Paso 3) El recurso se asigna como se muestra en el pseudocódigo que se proporciona a continuación.

Available = Available – Request (y)
Allocation(x) = Allocation(x) + Request(x)
Need(x) = Need(x) - Request(x)

Este último paso se realiza porque el sistema debe asumir que se han asignado los recursos. De modo que debería haber menos recursos disponibles después de la asignación.

Características del algoritmo bancario

Estas son las características importantes del algoritmo bancario:

  • Mantener muchos recursos que satisfagan el requisito de al menos un cliente.
  • Siempre que un proceso obtiene todos sus recursos, necesita devolverlos en un período restringido.
  • Cuando un proceso solicita un recurso, necesita esperar
  • El sistema tiene un número limitado de recursos.
  • Función avanzada para asignación máxima de recursos

Desventaja del algoritmo bancario

A continuación se detallan las desventajas y desventajas de utilizar el algoritmo bancario.

  • No permite que el proceso cambie su necesidad máxima durante el procesamiento.
  • Permite que todas las solicitudes se concedan en un tiempo restringido, pero un año es un período fijo para ello.
  • Todos los procesos deben conocer y declarar con antelación sus necesidades máximas de recursos.

Resumen

  • El algoritmo bancario se utiliza principalmente en el sistema bancario para evitar deadlock. Le ayuda a identificar si se otorgará un préstamo o no.
  • Las notaciones utilizadas en los algoritmos bancarios son 1) Disponible 2) Máx. 3) Asignación 4) Necesidad
  • El algoritmo de solicitud de recursos le permite representar el comportamiento del sistema cuando un proceso específico realiza una solicitud de recursos.
  • El algoritmo bancario mantiene muchos recursos que satisfacen los requisitos de al menos un cliente.
  • El mayor inconveniente del algoritmo bancario es que no permite que el proceso cambie su necesidad máxima durante el procesamiento.