Un proceso ejecuta el siguiente código
for (i = 0; i < n; i++) fork();
El número total de procesos secundarios creados es
(A) n
(B) 2 n – 1
(C) 2 n
(D) 2 (n+1) – 1
Respuesta: (B)
Explicación:
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
Si sumamos todos los niveles del árbol anterior para i = 0 a n-1, obtenemos 2 n – 1. Entonces habrá 2 n – 1 procesos secundarios. Por otro lado, el número total de procesos creados es (número de procesos secundarios)+1.
Nota: El número máximo de procesos es 2 n y puede variar debido a fallas en la bifurcación. Consulte también esta publicación para obtener más detalles.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA