The following C program is executed on a Unix/Linux system: #include<unistd.h> int main() { int i; for(i=0; i<10; i++) if(i%2 == 0) fork(); return 0; } The total number of child processes created is ___________

GATE 2019 · Operating System · Fork System Call · medium

Answer: The total number of child processes created is 31.

  1. Identify fork() call points: Over 10 iterations (i=0..9), even values are: 0,2,4,6,8. That is 5 fork() calls per process.
  2. Compute total processes and children: After i=0: 2 processes. After i=2: 4. After i=4: 8. After i=6: 16. After i=8: 32. Children = 32 - 1 = 31.