Consider a computer system with multiple shared resource types, with one…
2021
Consider a computer system with multiple shared resource types, with one instance per resource type. Each instance can be owned by only one process at a time. Owning and freeing of resources are done by holding a global lock (L). The following scheme is used to own a resource instance:
function OWNRESOURCE(Resource R) Acquire lock L // a global lock if R is available then Acquire R Release lock L else if R is owned by another process P then Terminate P, after releasing all resources owned by P Acquire R Restart P Release lock L end if end if end functionWhich of the following choice(s) about the above scheme is/are correct?
Answer: A. The scheme ensures that deadlocks will not occur.; B. The scheme may lead to live-lock.; C. The scheme may lead to starvation. — Key idea: whenever a process waits for a resource held by another, the owner is terminated and releases all its resources, so wait-for cycles cannot form. The…
- A.
The scheme ensures that deadlocks will not occur.
- B.
The scheme may lead to live-lock.
- C.
The scheme may lead to starvation.
- D.
The scheme violates the mutual exclusion property.
Attempted by 92 students.
Show answer & explanation
Correct answer: A, B, C
Key idea: whenever a process waits for a resource held by another, the owner is terminated and releases all its resources, so wait-for cycles cannot form.
The global lock L serializes checks and the terminate/reacquire sequence, so state changes are atomic with respect to other requests.
If a requester finds the resource held, terminating the owner forces the owner to release all resources; this breaks any potential circular waiting relation, preventing deadlock.
Because termination frees resources before the requester acquires them, only one process ever owns a given instance at a time, so mutual exclusion is preserved.
Brief note on the other statements:
The scheme does not inherently produce livelock because the requester acquires the resource and makes progress after the owner is terminated.
Starvation is not guaranteed by the mechanism itself; while pathological schedules could delay a process by repeated termination, the protocol actively breaks wait-for chains rather than leaving them intact.
A video solution is available for this question — log in and enroll to watch it.