Please enable JavaScript.
Coggle requires JavaScript to display documents.
Detección y Prevención de Deadlocks en Sistemas Operativos - Coggle Diagram
Detección y Prevención de Deadlocks en Sistemas Operativos
Detección de
Deadlocks
Algoritmo Basado en Matrices
Se utiliza cuando hay múltiples instancias de cada recurso.
Se utilizan cuatro matrices:
Matriz de instancias: número total de instancias de cada recurso.
Matriz de disponibilidad: número de instancias disponibles de cada recurso.
Matriz de asignaciones: recursos asignados a cada proceso.
Matriz de solicitudes: recursos solicitados por cada proceso.
Busca un proceso que pueda ser atendido (sus solicitudes son menores o iguales a la disponibilidad) y actualiza las matrices. Si ningún proceso puede ser atendido, hay un deadlock.
Algoritmo de Grafo de Recursos
Se basa en un grafo dirigido donde los nodos son los procesos y las aristas representan la solicitud de recursos.
Se registra la aparición de los procesos en una lista. Si un proceso aparece más de una vez, hay un deadlock.
Se utiliza cuando hay un solo recurso de cada tipo.
Prevención de Deadlocks
Esencialmente imposible, ya que se necesita conocer las futuras solicitudes de recursos.
Se puede atacar las cuatro condiciones de Coffman
Espera circular: Se debe evitar la espera cíclica entre procesos.
No apropiación: Los recursos asignados a un proceso no pueden ser arrebatados.
Retención y espera: Un proceso no debe retener recursos mientras espera por otros.
Exclusión mutua: No siempre es necesario que un recurso sea de uso exclusivo.
Técnicas y Algoritmos para Gestionar Deadlocks
Algoritmo del Banquero
Simula los préstamos de un banco, asegurando que todos los préstamos sean seguros.
Utiliza una fracción de los recursos para atender a varios clientes.
Se basa en la asignación de recursos a los procesos de forma segura, evitando la situación de deadlock.