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 function

Which 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…

  1. A.

    The scheme ensures that deadlocks will not occur.

  2. B.

    The scheme may lead to live-lock.

  3. C.

    The scheme may lead to starvation.

  4. 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.

Explore the full course: Gate Guidance By Sanchit Sir

Loading lesson…