PUERTA | PUERTA CS 2008 | Pregunta 66

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.

Cuestionario de esta pregunta

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *