Deadlocking In Concurrent And Distributed System

There are 5 resources, A, B, F, G, I, each of which can be acquired and released. There are two resource-user (or thread) types S and T.

Each instance of S repeatedly executes this code sequence: It acquires I, then A, and then G. It releases A and G. It acquires B. It releases I and then B.

Each instance of T repeatedly executes this code sequence: It acquires G and then F It releases G It acquires A It releases F and then A

a) How many instances of S does it take to create deadlock if there are no instances of T?

b) How many instances of T does it take to create deadlock if there are no instance of S?

c) There are instances of S and of T. How many instances of S and how many instances of T does it take to create deadlock? Note: In some cases, no deadlock is possible no matter how many instances/threads there are.

Leave a Comment

Your email address will not be published. Required fields are marked *