Gate CS-2007 Question Paper With Solutions

Q. 72 Two processes, P1 and P2, need to access a critical section of code. Consider the

following synchronization construct used by the processes:

Here, wants 1 and wants 2 are shared variables, Which are initialized to false.

Which one of the following statements is TRUE about the above construct?

  /* P1 */
while (true) {
  wants1 = true;
  while (wants2 == true);
  /* Critical
    Section */
  wants1=false;
}
/* Remainder section */       


/* P2 */
while (true) {
  wants2 = true;
  while (wants1==true);
  /* Critical
    Section */
  wants2 = false;
}
/* Remainder section */

(A) It does not ensure mutual exclusion.

(B) It does not ensure bounded waiting.

(C) It requires that processes enter the critical section in strict alternation.

(D) It does not prevent deadlocks, but ensures mutual exclusion

Answer: (D)

Explanation:

Solution:

Gate CS-2007 Question Paper With Solutions

Learn More:   Gate CS-2009 Question Paper With Solutions

LEAVE A REPLY

Please enter your comment!
Please enter your name here