1
GATE CSE 2024 Set 1
MCQ (Single Correct Answer)
+2
-0.66

Consider the following two threads T1 and T2 that update two shared variables a and b. Assume that initially $a = 1$ and $b = 1$. Though context switching between threads can happen at any time, each statement of T1 or T2 is executed atomically without interruption.

T1:
$a = a + 1$;
$b = b + 1$;

T2:
$b = 2 * b$;
$a = 2 * a$;

Which one of the following options lists all the possible combinations of values of a and b after both T1 and T2 finish execution?

A

$(a = 4, b = 4); (a = 3, b = 3); (a = 4, b = 3)$

B

$(a = 3, b = 4); (a = 4, b = 3); (a = 3, b = 3)$

C

$(a = 4, b = 4); (a = 4, b = 3); (a = 3, b = 4)$

D

$(a = 2, b = 2); (a = 2, b = 3); (a = 3, b = 4)$

2
GATE CSE 2024 Set 1
Numerical
+2
-0

Consider the following code snippet using the fork() and wait() system calls. Assume that the code compiles and runs correctly, and that the system calls run successfully without any errors.

int x = 3;
while(x > 0) {
  fork();
  printf("hello");
  wait(NULL);
  x--;
}

The total number of times the printf statement is executed is _______

Your input ____
3
GATE CSE 2024 Set 1
Numerical
+2
-0

Consider a memory management system that uses a page size of 2 KB. Assume that both the physical and virtual addresses start from 0. Assume that the pages 0, 1, 2, and 3 are stored in the page frames 1, 3, 2, and 0, respectively. The physical address (in decimal format) corresponding to the virtual address 2500 (in decimal format) is ________

Your input ____
4
GATE CSE 2024 Set 1
MCQ (Single Correct Answer)
+1
-0.33

Consider the following C program:


#include <stdio.h>

int main() {

   int a = 6;

   int b = 0;

   while(a < 10) {

      a = a / 12 + 1;

      a += b;}

   printf("%d", a);

   return 0;}

Which one of the following statements is CORRECT?

A

The program prints 9 as output

B

The program prints 10 as output

C

The program gets stuck in an infinite loop

D

The program prints 6 as output

EXAM MAP