1
GATE CSE 2021 Set 2
MCQ (More than One Correct Answer)
+2
-0

Consider the following multi-threaded code segment (in a mix of C and pseudocode), invoked by two processes P1 and P2, and each of the processes spawns two threads T1 and T2:

int x = 0; // global

Lock L1; // global

main() {

create a thread to execute foo(); // Thread T1

create a thread to execute foo(); // Thread T2

wait for the two threads to finish execution;

print (x);}

foo() {

int y = 0;

Acquire L1;

x = x + 1;

y = y + 1;

Release L1;

print (y); }

Which of the following statement(s) is/are correct ?

A
Both T1 and T2, in both the processes, will print the value of y as 1.
B
At least one of P1 and P2 will print the value of x as 4
C
Both P1 and P2 will print the value of x as 2.
D
At least one of the threads will print the value of y as 2.
2
GATE CSE 2020
MCQ (Single Correct Answer)
+2
-0.67
Each of a set of n processes executes the following code using two semaphores a and b initialized to 1 and 0, respectively. Assume that count is a shared variable GATE CSE 2020 Operating Systems - Synchronization and Concurrency Question 7 English
What does the code achieve?
A
It ensures that all processes execute CODE SECTION P mutually exclusively.
B
It ensures that at most two processes are in CODE SECTION Q at any time.
C
It ensures that no process executes CODE SECTION Q before every process has finished CODE SECTION P.
D
It ensures that at most n-1 processes are in CODE SECTION P at any time.
3
GATE CSE 2013
MCQ (Single Correct Answer)
+2
-0.6
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?
A
-2
B
-1
C
1
D
2
4
GATE CSE 2013
MCQ (Single Correct Answer)
+2
-0.6
A certain computation generates two arrays a and b such that a[i]=f(i)for 0 ≤ i < n and b[i] = g (a[i] )for 0 ≤ i < n. Suppose this computation is decomposed into two concurrent processes X and Y such that X computes the array a and Y computes the array b. The processes employ two binary semaphores R and S, both initialized to zero. The array a is shared by the two processes. The structures of the processes are shown below.
Process X:
private i;
for(i = 0; i < n; i++){
 a [i] = f (i);
 Exit X (R, S);
}

Process Y:
private i;
for(i = 0; i < n; i++){
 Entry Y (R, S);
 b [i] = g (a [i] );
}
Which of the following represents the correct implementations of Exit X and Entry Y?
A
Exit X (R, S){
  P(R);
  V(S);
}
Entry Y (R, S){
  P(S);
  V(R);
}
B
Exit X (R, S){
  V(R);
  V(S);
}
Entry Y (R, S){
  P(R);
  P(S);
}
C
Exit X (R, S){
  P(S);
  V(R);
}
Entry Y (R, S){
  V(S);
  P(R);
}
D
Exit X (R, S){
  V(R);
  P(S);
}
Entry Y (R, S){
  V(S);
  P(R);
}
GATE CSE Subjects
Software Engineering
Web Technologies
EXAM MAP