What happens?
t1: a = request(A) b = request(B) t2: b = request(B) a = request(A)
Case 1 t1: a = request(A) t1: b = request(B) t2: b = request(B) t2: a = request(A) Ok
Case 2 t1: a = request(A) t2: b = request(B) t1: b = request(B) t2: a = request(A) ?
|
|
t1 has A and blocks allocating B
t2 has B and blocks allocating A
- This is deadlock. How can it be prevented?
reboot
selective resource pre-emption
delete processes
check-point and roll back
This page last modified on 2011 October 9. |