Hiérarchie des processus
Cet article décrit une façon de modéliser la filiation parent/fils entre les processus.
Structure
Pour modéliser la filiation parent/fils, nous pouvons faire le choix de listes chaînées intégrées aux processus. Nous allons donc rajouté un pointeur vers le process parent, un processus vers l'enfant. Supposons une structure struct process
, nous pouvons la modifier ainsi:
1 2 3 4 |
|
Notre modélisation a un problème : nous ne pouvons pas créer plusieurs enfants. La solution est simple, on peut rajouter à chaque processus un pointeur vers son frère:
1 2 3 4 5 |
|
Chaque processus peut connaître la liste de ses enfants en parcourant récursivement le pointeur child puis sibling: parent->child->sibling->sibling->[...]
. Cette structure agit comme une liste chaînée, l'insertion, la suppression et le parcours sont des opérations classiques, elles ne sont pas détaillées ici.