Question Details

With respect to deadlocks in an operating system, which of the following state ments is/are FALSE?

Options

A

Banker’s algorithm is used to prevent deadlocks

B

Deadlock formation can be prevented by ensuring that the hold and wait condition is not allowed

C

An assignment edge in a resource allocation graph is marked from a process to a resource

D

A safe state guarantees that all processes can finish without formation of a deadlock

Show Answer

Correct Answer :

Option A

Banker’s algorithm is used to prevent deadlocks

Option C

An assignment edge in a resource allocation graph is marked from a process to a resource

Option C

An assignment edge in a resource allocation graph is marked from a process to a resource

Option D

A safe state guarantees that all processes can finish without formation of a deadlock

Solution :

The correct false statements are:
1. Banker’s algorithm is used to prevent deadlocks
2. An assignment edge in a resource allocation graph is marked from a process to a resource

Let's analyze each statement step-by-step to understand why they are FALSE or TRUE:

1. Statement: "Banker’s algorithm is used to prevent deadlocks" (FALSE)
In operating systems, deadlock handling strategies are categorized into prevention, avoidance, and detection/recovery.
Deadlock prevention works by eliminating at least one of the four Coffman conditions (Mutual Exclusion, Hold and Wait, No Preemption, Circular Wait) so that a deadlock can never physically occur.
The Banker's algorithm, on the other hand, is a classic deadlock avoidance algorithm. It dynamically tests for safety by simulating the allocation for predetermined maximum possible claims of all resources, and decides whether to grant a request or make the process wait to keep the system in a safe state. Therefore, it is used for deadlock avoidance, not deadlock prevention.

2. Statement: "An assignment edge in a resource allocation graph is marked from a process to a resource" (FALSE)
A Resource Allocation Graph (RAG) is a directed graph used to track resource allocations and requests.
It consists of two types of directed edges:
- Request Edge: Directed from a process to a resource (PR), indicating that a process has requested a resource and is currently waiting for it.
- Assignment Edge: Directed from a resource to a process (RP), indicating that the resource has been allocated to the process.
Since the statement asserts that an assignment edge is marked from a process to a resource, it is incorrect.

3. Statement: "Deadlock formation can be prevented by ensuring that the hold and wait condition is not allowed" (TRUE)
Deadlock prevention is achieved by breaking one of the four Coffman conditions. The "hold and wait" condition occurs when a process holding allocated resources requests additional resources. If we ensure that this condition is prevented (for example, by requiring a process to request all its resources at once before execution begins, or to release its current resources before making new requests), a deadlock cannot occur. Thus, this statement is true.

4. Statement: "A safe state guarantees that all processes can finish without formation of a deadlock" (TRUE)
By definition, a state is safe if the system can allocate resources to each process (up to its maximum limit) in some order and still avoid a deadlock. In other words, there exists a "safe sequence" of processes such that all processes in the sequence can eventually satisfy their resource demands and terminate successfully. Thus, a safe state guarantees the avoidance of deadlocks.

Unlock Our Free Library

Access expert-curated educational resources and study materials—completely free.

Ask AI Tutor
5 left
Q1 View Question & Options
AI Tutor is solving this question...
Reading question context & options...