2. 2
primitive exit() qui terminerait le processus fils et retournerait un code au processus père p1.
Si bien que p2 poursuit son exécution en créant un processus fils p'3 et p'4.
L'arborescence des processus est la suivante :
2. Dans cette solution, on suppose que les processus sont exécutés dans l'ordre de leur
création. Dans la pratique, le dernier processus créé peut obtenir le processeur avant les
processus créés avant lui.
père
p1: a p3: b
p4: c
p2
p'3: b
p'4: c
père
création de p1,
p3 et p4
p1
p3
p4
endormi (5s)
exécution de a (2s)
exécution de b (3s)
zombi
waitpid
prise en
compte de la
fin de p1
prise en
compte de la
fin de p3
c (1s)
attend le processeur
attend le processeur
prise en
compte de la
fin de p4
p2 attend le processeur
création de p'3
et p'4
endormi (5s)
exécution de b (3s)
p'3
p'4
c (1s)
zombi
waitpid