A process executes the following code
for (i = 0; i < n; i++) fork();
The total number of child processes created is
(B) 2n - 1
(D) 2(n+1) - 1
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.