Рубрики

ВОРОТА | GATE CS 2012 | Вопрос 8

Процесс выполняет код

fork();
fork();
fork(); 

Общее количество созданных дочерних процессов
(А) 3
(Б) 4
(С) 7
(D) 8

Ответ: (с)
Объяснение: Давайте назовем несколько названий меток для трех строк.

  fork ();    // Line 1
  fork ();   // Line 2
  fork ();   // Line 3

       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

Мы также можем использовать прямую формулу, чтобы получить количество дочерних процессов. При использовании n операторов fork всегда есть 2 ^ n — 1 дочерних процессов. Также см. Этот пост для более подробной информации.
Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE CS 2012 | Вопрос 8

0.00 (0%) 0 votes