¿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:
- X: Indica el número total de procesos del sistema.
- Y: indica el número total de recursos en el sistema.
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:
- 5 pendrives
- 2 Impresora
- 4 escáner
- 3 discos duros
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 |
Total | 4 | 2 | 2 | 3 |
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:
- Mantenga suficientes recursos que satisfagan las necesidades de al menos un cliente
- Siempre que un proceso obtiene todos sus recursos, debe devolverlos en un período limitado.
- Cuando un proceso solicita un recurso, tiene que esperar
- El sistema tiene una cantidad limitada de recursos
- Aspecto avanzado de la asignación máxima de recursos
Desventaja del algoritmo Bankers
Aquí hay desventajas / desventajas de usar algoritmos bancarios
- No permite que el proceso cambie su requisito máximo durante el procesamiento.
- Permite que todas las solicitudes se otorguen en un tiempo limitado, pero este es un período fijo de un año.
- Cada proceso debe conocer e indicar de antemano sus requerimientos máximos de recursos.
Resumen:
- El sistema bancario se utiliza mucho en el sistema bancario para evitar bloqueos. Le ayuda a identificar si debe prestar o no.
- Las notaciones utilizadas en los algoritmos bancarios son 1) Disponible 2) Máximo 3) Asignación 4) Requisito
- Un algoritmo de solicitud de recursos le permite mostrar el comportamiento del sistema cuando un proceso en particular solicita un recurso.
- El algoritmo bancario contiene muchos recursos que satisfacen la necesidad de al menos un cliente.
- La principal desventaja de un algoritmo bancario es que no permite que el proceso cambie su requisito máximo durante el procesamiento.