Algoritmo bancario en el sistema operativo (ejemplo)

Tabla de contenido:

Anonim

¿Qué es el algoritmo bancario?

El algoritmo bancario se utiliza principalmente en el sistema bancario para evitar un punto muerto. 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 un número X 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 de automóvil, el sistema de software resta el monto del préstamo otorgado para la compra de 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 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.

En este tutorial del sistema operativo, aprenderá:

  • ¿Qué es el algoritmo bancario?
  • Notaciones de algoritmo bancario
  • Ejemplo de algoritmo bancario
  • Características del algoritmo bancario
  • Desventaja del algoritmo de Banker

Notaciones de 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 donde proceso ha recibido un recurso de tipo j

Necesitar

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

Ejemplo de algoritmo bancario

Supongamos que tenemos los siguientes 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).

Suponga que hay cuatro procesos. Los recursos disponibles ya están asignados según la tabla de matriz a continuación.

Nombre del proceso Memoria USB Impresora Escáner Disco duro
PAG 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 Necesidad = (3,0,2,2)

Nombre del proceso Memoria USB Impresora Escáner Disco duro
PAG 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.

Entienda esto siguiendo los siguientes pasos:

Paso 1) Cuando una instancia solicitada total de todos los recursos es menor que el proceso, vaya al 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á al siguiente paso. De lo contrario, el proceso requiere esperar debido a la falta de disponibilidad de recursos suficientes.

Paso 3) El recurso se asigna como se muestra en el pseudocódigo dado 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 recursos. De modo que debería haber menos recursos disponibles después de la asignación.

Características del algoritmo bancario

Estas son características importantes del algoritmo bancario:

  • Mantener muchos recursos que satisfagan los requisitos de al menos un cliente.
  • Siempre que un proceso obtiene todos sus recursos, debe devolverlos en un período restringido.
  • Cuando un proceso solicita un recurso, necesita esperar
  • El sistema tiene una cantidad limitada de recursos
  • Característica avanzada para la asignación máxima de recursos

Desventaja del algoritmo de Banker

Aquí están las desventajas / desventajas de usar el algoritmo bancario

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

Resumen:

  • El algoritmo bancario se utiliza principalmente en el sistema bancario para evitar un punto muerto. Le ayuda a identificar si se otorgará un préstamo o no.
  • Las notaciones utilizadas en los algoritmos bancarios son 1) Disponible 2) Máximo 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.