PUERTA | PUERTA CS 2019 | Pregunta 26

El siguiente programa en C se ejecuta en un sistema Unix/Linux:

#include <unistd.h>
  int main() {
    int i;
    for (i = 0; i < 10; i++)
      if (i % 2 == 0) fork();
    return 0;
  }

El número total de procesos secundarios creados es __________.

Nota: esta fue una pregunta de tipo numérico.

(A) 31
(B) 63
(C) 5
(D) 6

Respuesta: (A)
Explicación: La condición “si” se cumplirá solo para i = 0, 2, 4, 6, 8. Entonces, «fork()» llamará 5 veces.

El número total de procesos creados es,

= 2number of fork() 

Siempre hay un solo proceso principal de estos procesos y el resto serán procesos secundarios.

Por lo tanto, el número de procesos secundarios creados es,

= 2number of fork() - 1
= 25 - 1
= 32 - 1
= 31

Entonces, la opción (A) es correcta.
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 *