ANSWER
The true statements are (A) and (D).
Official answer: A, DSource: Official answer key, GATE 2022 CS (IIT Kharagpur)
(A) Deadlock needs all four Coffman conditions at once: mutual exclusion, hold and wait, no preemption and circular wait. So circular wait is a necessary condition. TRUE.
(B) When a resource has several instances, a cycle in the wait-for graph is necessary but not sufficient. A process in the cycle may be waiting for a resource that a process outside the cycle holds and will release. A cycle means deadlock only when every resource has a single instance. FALSE.
(C) An unsafe state means no safe sequence exists, so deadlock is possible but not certain. Processes may release resources before they make their maximum requests. FALSE.
(D) An assignment edge goes from a resource to a process. If every edge is an assignment edge, there are no request edges, so no process is waiting. A deadlock needs at least one blocked process, so there is no deadlock. TRUE.
Correct options: A and D.
KEY IDEA
Circular wait is necessary for deadlock. A cycle proves deadlock only with single-instance resources. An unsafe state means deadlock may happen, not that it must.
WATCH OUT FOR
Treating any cycle in a graph as a deadlock when resources have several instances. Treating an unsafe state as a deadlock that has already happened or must happen.