UTFSM - Sistemas Operativos
Deadlock de tráfico

Están las 4 condiciones
de deadlock presentes?
 Exclusión mutua.
 Hold-and-wait
 No preemtion
 Circular wait

Diga una regla para
prevenir un deadlock.
Ayudantía Sistemas Operativos http://villaseca.wordpress.com
2
Dining philosophers
Recordar el problema de los
filósofos.
 Cómo puede ocurrir un
deadlock?
 Están las 4 condiciones
presentes?
 Dé una solución para cada
condición.

Ayudantía Sistemas Operativos http://villaseca.wordpress.com
3
Dining philosophers
Considere que se colocan todos los
tenedores en el centro de la mesa (o
sea cualquier filósofo puede usar
cualquier par de tenedores).
 Diga una regla que permita que no
ocurran deadlocks.
 Qué reglas habrían que existir si los
filósofos requieren 3 tenedores?

Ayudantía Sistemas Operativos http://villaseca.wordpress.com
4
Containment

Considere una solución al problema de
deadlocks:
 Tener un recurso de alto orden, que debe ser
solicitado antes que cualquier otro recurso.
 Ejemplo:
○ Threads comparten semáforos, mutexes, etc
○ Si un thread accede a uno de esos, debe adquirir
primero el recurso de alto orden.
Sirve como solución a deadlocks?
 Tiene algo malo?

Ayudantía Sistemas Operativos http://villaseca.wordpress.com
5
Comparación

Compare el esquema de circular-wait
con el de deadlock-avoidance.
 Runtime overhead
 System throughput
Ayudantía Sistemas Operativos http://villaseca.wordpress.com
6
Sistema de
procesos
recursos,
Considere que cada proceso necesita a
lo más recursos.
 Demuestre que el sistema esta libre de
deadlocks.

Ayudantía Sistemas Operativos http://villaseca.wordpress.com
7
Algoritmo del banquero
P0
0
0
1
2
0
0
1
2
P1
1
0
0
0
1
7
5
0
P2
1
3
5
4
2
3
5
6
P3
0
6
3
2
0
6
5
2
P4
0
0
1
4
0
6
5
6
1
5
2
0
•Cuál es el contenido de la matriz Need?
•Está el sistema en un safe state?
•Si una solicitud de P1 llega por (0,4,2,0) se puede aprobar la solicitud
altiro?
Ayudantía Sistemas Operativos http://villaseca.wordpress.com
8
Resource allocation

Considerar esta política:
 Si una solicitud de recursos no puede ser
satisfecha, le sacamos recursos a los procesos
bloqueados (en espera).

Si un sistema tiene 3 tipos de recursos:






Available inicializado en (4,2,2)
Si P0 solicita (2,2,1), lo obtiene.
Si P1 solicita (1,0,1), lo obtiene.
Si P2 solicita (2,0,0) obtiene (1,0,0) y le roba
(1,0,0) a P0.
Pueden ocurrir deadlocks a futuro?
Puede ocurrir un bloqueo indefinido?
Ayudantía Sistemas Operativos http://villaseca.wordpress.com
9
Descargar

Deadlocks