Open In App
Related Articles

GATE | GATE CS 2008 | Question 66

Improve Article
Improve
Save Article
Save
Like Article
Like

A process executes the following code

for (i = 0; i < n; i++) fork();

The total number of child processes created is
(A) n
(B) 2n - 1
(C) 2n
(D) 2(n+1) - 1


Answer: (B)

Explanation:

         F0       // There will be 1 child process created by first fork
      /     \
    F1      F1    // There will be 2 child processes created by second fork
   /  \    /  \
 F2   F2  F2   F2  // There will be 4 child processes created by third fork
/ \   / \ / \  / \
 ...............   // and so on

If we sum all levels of above tree for i = 0 to n-1, we get 2n - 1. So there will be 2n – 1 child processes. On the other hand, the total number of process created are (number of child processes)+1.

Note:The maximum number of process is 2n and may vary due to fork failures.Also see this post for more details.


Quiz of this Question

Level Up Your GATE Prep!
Embark on a transformative journey towards GATE success by choosing Data Science & AI as your second paper choice with our specialized course. If you find yourself lost in the vast landscape of the GATE syllabus, our program is the compass you need.

Last Updated : 05 Apr, 2019
Like Article
Save Article
Previous
Next
Similar Reads