Next: Effets de l'appel fork()
Up: Mise en oeuvre des
Previous: Mise en oeuvre des
  Contents
- Le LWP exécute le code du thread, les appels systèmes et les
demandes de page. Le LWP se substitue au processus initial pour
prendre le contrôle du thread pendant le passage en mode noyau.
- Le noyau, quant à lui, gère le passage des signaux aux
différents LWP, l'ordonnancement des LWP et l'affectation des LWP
aux différents processus (binding7.1 possible).
- La thread library gère l'affectation des threads aux LWP par
multiplexage (réservation possible d'un LWP par thread binding),
la création de LWP supplémentaires (gestion de nouveaux signaux)
et l'interprétation des signaux.
Figure:
Différents types de gestion de threads
 |
On peut ainsi avoir les différentes configurations de threads
montrées figure 2 :
- Un thread associé à un LWP (équivalent à un processus)
- 2 threads associés à un LWP (commutation de thread)
- 3 threads associés à 2 LWP (commutation selon les besoins
entre les 3 threads)
- 2 threads associés à 2 LWP différents (binding -- pour
éviter de changer le contexte d'un LWP on associe un thread à un
LWP unique)
- 1 thread associé à un LWP lui-même associé à un
processeur (on assure ainsi qu'un thread gros consommateur de calcul
a accès en permanence à un processeur)
Next: Effets de l'appel fork()
Up: Mise en oeuvre des
Previous: Mise en oeuvre des
  Contents
Arnaud Revel
2001-11-26