Consider the following set of processes, each of which needs a certain amount of a series of shared resources (denoted as resources A, B, and C) to complete its work. The following chart shows the state of the system at a given point in time: Process Allocation Request Available A B C A B C A B C P0 1 1 1 1 0 0 0 0 0 P1 2 0 1 0 0 0 P2 0 1 0 0 0 2 P3 4 0 1 0 3 0 P4 0 2 0 4 0 2 Suppose that a process will hold all resources it has until it obtains all the resources it needs. Once it obtains all the resources it needs, it will complete its work and release all of the resources back into the available pool. Is there an order of execution for these processes that will lead to them all finishing their work, or will the system end up in a deadlocked state? If the system will end up in a deadlocked state, please explain why this deadlock will occur. You do not have to show any work for this question, just provide an answer to the problem.
Consider the following set of processes, each of which needs a certain amount of a series of shared resources (denoted as resources A, B, and C) to complete its work. The following chart shows the state of the system at a given point in time:
Process |
Allocation |
Request |
Available |
A B C |
A B C |
A B C |
|
P0 |
1 1 1 |
1 0 0 |
0 0 0 |
P1 |
2 0 1 |
0 0 0 |
|
P2 |
0 1 0 |
0 0 2 |
|
P3 |
4 0 1 |
0 3 0 |
|
P4 |
0 2 0 |
4 0 2 |
Suppose that a process will hold all resources it has until it obtains all the resources it needs. Once it obtains all the resources it needs, it will complete its work and release all of the resources back into the available pool. Is there an order of execution for these processes that will lead to them all finishing their work, or will the system end up in a deadlocked state? If the system will end up in a deadlocked state, please explain why this deadlock will occur. You do not have to show any work for this question, just provide an answer to the problem.
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 3 images