[SOS] Dupliquer une tâche ...

David Decotigny david.decotigny at free.fr
Mar 7 Mar 09:53:29 CET 2006


Bonjour,

Cyril Dupuit wrote:
> J'avais l'intention d'utiliser cet appel système que pour le coté 
> utilisateur. Au niveau noyau, je ne me suis pas encore posé la question de 
> l'utilité de cette fonction.

Tu devrais te poser la même question au niveau user : ça sert à quoi 
d'avoir un 2eme thread qui est sensé avoir la "même histoire" (ie être 
issu des mêmes appels de fonctions) que le thread père ? Pour un humain 
de base comme moi par exemple, c'est beaucoup trop compliqué : déjà 
gérer une histoire ça peut être galère, mais deux fois la même histoire 
en parallèle, ça relève du masochisme. Ceci dit, je te dirais qu'avec 
des systèmes plus haut niveau (peut-etre les continuations de lisp, même 
peut-etre java avec certaines magouilles dans la jvm, etc.), ce que tu 
proposes (altérer la pile pour la différentciation père/fils) doit être 
possible relativement proprement. En C, ça doit aussi être possible, 
mais je pense que tu peux oublier le "proprement", ça risque d'être une 
bidouille bien bancale.

C'est plus simple de se dire qu'on utilise un autre thread pour faire un 
autre truc bien séparé, bien distinct, bien autonome. Comme ça on 
perçoit le système comme étant formés d'individus autonomes à qui on 
assigne des tâches bien identifiées et complémentaires. Alors il restera 
plus qu'un problème à gérer, déjà largement suffisament complexe à mon 
goût : le cas où ces deux individus ont les mêmes besoins au même moment 
(ie accès concurrent aux ressources). Ceci dit, je comprends que si ce 
problème te paraît trop simple, tu veuilles le compliquer ;)

Bon courage. Bonne journée,

-- 
David Decotigny -- http://david.decotigny.free.fr


Plus d'informations sur la liste de diffusion Sos