adplus-dvertising
frame-decoration

Question

The following program consists of 3 concurrent processes and 3 binary semaphores. The semaphores are initialized as S0 = 1, S1 = 0, S2 = 0.

Process P0
while(true)
{
wait(S0);
print '0';
release(S1);
release(S2);
}

Process P1
wait(S1);
release(S0);

Process P2
wait(S2);
release(S0);

How many times will P0 print ‘0’ ?

a.

At least twice

b.

Exactly twice

c.

Exactly thrice

d.

Exactly once

Posted under Operating System

Answer: (a).At least twice

Engage with the Community - Add Your Comment

Confused About the Answer? Ask for Details Here.

Know the Explanation? Add it Here.

Q. The following program consists of 3 concurrent processes and 3 binary semaphores. The semaphores are initialized as S0 = 1, S1 = 0, S2 = 0. Process...

Similar Questions

Discover Related MCQs

Q. Each process Pi, i = 0,1,2,3,……,9 is coded as follows :

repeat
P(mutex)
{Critical Section}
V(mutex)
forever

The code for P10 is identical except that it uses V(mutex) instead of P(mutex). What is the largest number of processes that can be inside the critical section at any moment (the mutex being initialized to 1)?

Q. Two processes, P1 and P2, need to access a critical section of code. Consider the following synchronization construct used by the processes :

Process P1 :
while(true)
{
w1 = true;
while(w2 == true);
Critical section
w1 = false;
}
Remainder Section

Process P2 :
while(true)
{
w2 = true;
while(w1 == true);
Critical section
w2 = false;
}

Here, w1 and w2 are shared variables, which are initialized to false. Which one of the following statements is TRUE about the above construct?

Q. The following pair of processes share a common variable X :

Process A
int Y;
A1: Y = X*2;
A2: X = Y;

Process B
int Z;
B1: Z = X+1;
B2: X = Z;


X is set to 5 before either process begins execution. As usual, statements within a process are executed sequentially, but statements in process A may execute in any order with respect to statements in process B.
How many different values of X are possible after both processes finish executing ?

Q. The program follows to use a shared binary semaphore T :

Process A
int Y;
A1: Y = X*2;
A2: X = Y;
signal(T);

Process B
int Z;
B1: wait(T);
B2: Z = X+1;
X = Z;


T is set to 0 before either process begins execution and, as before, X is set to 5.
Now, how many different values of X are possible after both processes finish executing ?

Q. All processes share a semaphore variable mutex, initialized to 1. Each process must execute wait(mutex) before entering the critical section and signal(mutex) afterward.
Suppose a process executes in the following manner :

signal(mutex);
.....
critical section
.....
wait(mutex);

In this situation :

Q. All processes share a semaphore variable mutex, initialized to 1. Each process must execute wait(mutex) before entering the critical section and signal(mutex) afterward.
Suppose a process executes in the following manner :

wait(mutex);
.....
critical section
.....
wait(mutex);

In this situation :

Q. Consider the methods used by processes P1 and P2 for accessing their critical sections whenever needed, as given below. The initial values of shared boolean variables S1 and S2 are randomly assigned.

Method used by P1 :
while(S1==S2);
Critical section
S1 = S2;

Method used by P2 :
while(S1!=S2);
Critical section
S2 = not(S1);

Which of the following statements describes properties achieved ?

Q. Which of the following concurrency control protocols ensure both conflict serializability and freedom from deadlock ?

I) 2-phase locking
II) Time-stamp ordering

Q. The initial value of the semaphore that allows only one of the many processes to enter their critical sections, is

Q. For how many processes which are sharing common data, the Dekker's algorithm implements mutual exclusion?

Q. Semaphores

Q. What is the initial value of the semaphore to allow only one of the many processes to enter their critical section?

Q. Part of a program where the shared memory is accessed and which should be executed invisibly, is called

Q. A critical region is

Q. For procedure, the system prevent the overlap of buffer

Q. In implementation of Semaphores, for a single processor system, it is possible to inhibited

Q. In message passing a process receives information by executing the

Q. In a uniprocessor system concurrent processes cannot have overlapped

Q. In addressing, a many to one relationship is useful for

Q. The controller process services writes a