Algoritmo bancario en el sistema operativo [Example]

¿Qué es un algoritmo bancario?

Algoritmo bancario ampliamente utilizado en el sistema bancario para evitar bloqueos. Le ayuda a identificar si debe prestar o no.

Este algoritmo se utiliza para realizar pruebas para simular de forma segura la asignación para determinar el máximo disponible para todos los recursos. También comprueba todas las acciones posibles antes de decidir si continuar o no con la asignación.

Por ejemplo, X es el número de titulares de una cuenta bancaria en particular y G. es la cantidad total de dinero en su cuenta.

Cuando el banco procesa un préstamo de 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 posee el banco.

También verifica que la diferencia sea mayor que 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 al mismo tiempo.

En este tutorial sobre el sistema operativo, aprenderá:

Notas del algoritmo bancario

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

Disponible

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

Max

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

Asignación

[l:X,l:Y]. Indique dónde obtuvo un recurso tipo j

Requisito

Indique cuántos recursos se pueden asignar en el futuro

Un ejemplo de un algoritmo bancario

Supongamos que tenemos los siguientes recursos:

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

Suponga que hay cuatro procesos. Los recursos disponibles ya se han asignado de acuerdo con la tabla matricial siguiente.

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
Total4223

Aquí, los recursos totales asignados de estas columnas son:

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 da Requisito= (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

Un algoritmo de solicitud de recursos le permite visualizar el comportamiento del sistema cuando un proceso en particular solicita un recurso.

Entendamos esto a través de los siguientes pasos:

Paso 1) Cuando una muestra completa solicitada de todos los recursos sea menor que el proceso, continúe con el paso 2.

Paso 2) Cuando una muestra solicitada de cada tipo de recurso es más pequeña en comparación con los recursos disponibles de cada tipo, se procesará al siguiente paso. De lo contrario, el proceso debe esperar porque no hay suficientes recursos disponibles.

Paso 3) El recurso se asigna como se muestra en el pseudocódigo 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. Para que haya menos recursos disponibles después de la asignación.

Características del algoritmo bancario

Estas son algunas características importantes del algoritmo bancario:

Desventaja del algoritmo Bankers

Aquí hay desventajas / desventajas de usar algoritmos bancarios

Resumen:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *