Características
de interbloqueo Como se discutió en la publicación anterior, interbloqueo tiene las siguientes características.
- Exclusión mutua
- Espera y espera
- Sin preferencia
- Espera circular
Prevención de interbloqueo
Podemos evitar el interbloqueo eliminando cualquiera de las cuatro condiciones anteriores.
Elimine la exclusión mutua
No es posible no cumplir con la exclusión mutua porque algunos recursos, como la unidad de cinta y la impresora, son inherentemente no compartibles.
Eliminar Retener y esperar
- Asigne todos los recursos necesarios al proceso antes del inicio de su ejecución, de esta manera se elimina la condición de espera y espera, pero conducirá a una baja utilización del dispositivo. por ejemplo, si un proceso requiere una impresora en un momento posterior y hemos asignado una impresora antes del inicio de su ejecución, la impresora permanecerá bloqueada hasta que haya completado su ejecución.
- El proceso realizará una nueva solicitud de recursos después de liberar el conjunto actual de recursos. Esta solución puede conducir a la inanición.
Elimine
los recursos sin derecho preferente de preferencia del proceso cuando los recursos sean requeridos por otros procesos de alta prioridad.
Eliminar Espera Circular
A cada recurso se le asignará un número numérico. Un proceso puede solicitar que los recursos aumenten o disminuyan. orden de numeración.
Por ejemplo, si al proceso P1 se le asignan recursos R5, ahora la próxima vez que P1 solicite R4, R3 menor que R5 no se otorgará dicha solicitud, solo se otorgará la solicitud de recursos más de R5.
Prevención
de interbloqueos La prevención de interbloqueos se puede realizar con el algoritmo del banquero.
Algoritmo de
banquero El algoritmo de banquero es un algoritmo de asignación de recursos y evitación de puntos muertos que prueba todas las requests realizadas por los procesos de recursos, verifica el estado seguro, si después de otorgar la solicitud el sistema permanece en estado seguro, permite la solicitud y si no hay estado seguro no permite la solicitud realizada por el proceso.
Entradas al algoritmo del banquero:
- Máxima necesidad de recursos por cada proceso.
- Actualmente, recursos asignados por cada proceso.
- Máximo de recursos libres disponibles en el sistema.
La solicitud sólo se concederá bajo la siguiente condición:
- Si la solicitud realizada por el proceso es menor que igual a la necesidad máxima de ese proceso.
- Si la solicitud realizada por el proceso es inferior al recurso de libre disposición en el sistema.
Ejemplo:
Total resources in system: A B C D 6 5 7 6
Available system resources are: A B C D 3 1 1 2
Processes (currently allocated resources): A B C D P1 1 2 2 1 P2 1 0 3 3 P3 1 2 1 0
Processes (maximum resources): A B C D P1 3 3 2 2 P2 1 2 3 4 P3 1 3 5 0
Need = maximum resources - currently allocated resources. Processes (need resources): A B C D P1 2 1 0 1 P2 0 2 0 1 P3 0 1 4 0
Nota: La prevención de interbloqueos es más estricta que la prevención de interbloqueos.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA