PUERTA | GATE-IT-2004 | Pregunta 64

Un proceso ejecuta el siguiente segmento de código:

 for(i = 1; i < = n; i++)

fork (); 

El número de nuevos procesos creados es

 
(A) n
(B) ((n(n + 1))/2)
(C) 2 n – 1

(D) 3 n – 1

Respuesta: (C)
Explicación:

  fork ();    // Line 1
  fork ();   // Line 2
  fork ();   // Line 3
.....till n

       L1       // There will be 1 child process created by line 1
    /     \
  L2      L2    // There will be 2 child processes created by line 2
 /  \    /  \
L3  L3  L3  L3  // There will be 4 child processes created by line 3
........

También podemos usar la fórmula directa para obtener el número de procesos secundarios.

Con declaraciones n fork, siempre hay 2 n – 1 procesos secundarios. También vea esta publicación para 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 *