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 ?
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
What does the code achieve?
What does the code achieve?
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?
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?Questions Asked from Synchronization and Concurrency (Marks 2)
Number in Brackets after Paper Indicates No. of Questions
GATE CSE 2024 Set 1 (2)
GATE CSE 2023 (1)
GATE CSE 2021 Set 2 (2)
GATE CSE 2020 (1)
GATE CSE 2013 (2)
GATE CSE 2012 (1)
GATE CSE 2010 (1)
GATE CSE 2009 (1)
GATE CSE 2008 (1)
GATE CSE 2007 (1)
GATE CSE 2006 (3)
GATE CSE 2003 (2)
GATE CSE 2001 (1)
GATE CSE 1997 (1)
GATE CSE 1996 (2)
GATE CSE 1992 (1)
GATE CSE 1990 (1)
GATE CSE 1987 (1)
GATE CSE Subjects
Theory of Computation
Operating Systems
Algorithms
Database Management System
Data Structures
Computer Networks
Software Engineering
Compiler Design
Web Technologies
General Aptitude
Discrete Mathematics
Programming Languages