GATE CS 2013 – Question 44

Multiple choice 2 marks Question 44 2013

Question 44

MCQ 2 marks · −0.66 Operating Systems

A shared variable \(x\), initialized to zero, is operated on by four concurrent processes W, X, Y, Z as follows. Each of the processes W and X reads \(x\) from memory, increments by one, stores it to memory, and then terminates. Each of the processes Y and Z reads \(x\) from memory, decrements by two, stores it to memory, and then terminates. Each process before reading \(x\) invokes the P operation (i.e., wait) on a counting semaphore S and invokes the V operation (i.e., signal) on the semaphore S after storing \(x\) to memory. Semaphore S is initialized to two. What is the maximum possible value of \(x\) after all processes complete execution?

Answers and explanations are free — they just need an account.

Where this question comes from

Source: GATE 2013 Computer Science and Engineering (question number approximate)