Deadlock Detection - Have a thread that checks for deadlocks by creating dependency graphs. If a deadlock condition is found, it would kill some process based on some heuristic.
Non-waiting Deadlock Prevention - Before taking a lock, check if someone else holds a lock. If someone else holds a lock, you either kill the one with the lock or kill yourself.
Wait-and-Die Deadlock Prevention - If someone else holds a lock, you either wait or kill the process that holds the lock.
mak
Are these deadlock detection schemes similar to the ones implemented by Operating systems? They are also based on resource allocation graph.
Deadlock Detection - Have a thread that checks for deadlocks by creating dependency graphs. If a deadlock condition is found, it would kill some process based on some heuristic. Non-waiting Deadlock Prevention - Before taking a lock, check if someone else holds a lock. If someone else holds a lock, you either kill the one with the lock or kill yourself. Wait-and-Die Deadlock Prevention - If someone else holds a lock, you either wait or kill the process that holds the lock.
Are these deadlock detection schemes similar to the ones implemented by Operating systems? They are also based on resource allocation graph.