masklinn í dag viðrar vel til loftárása | KangOl a écrit :
si l'application ne doit pas planter, faut que le code soit blindé, donc autant partir sur les threads, ce sera beaucoup plus rapide, surtout pour faire du temps réél.
|
C'est le contraire, pour avoir une application blindée il faut le plus possible éviter le modèle mémoire partagée + sémaphores, source de race conditions et autres deadlocks.
C'est pourquoi quand le labo de recherche d'Ericsson a créé Erlang ils sont partis sur un modèle lightweight processes + message passing (les processus erlang sont des micro-processus tournant dans la VM erlang -- l'overhead est de 300 octets -- et ils sont ensuite mappés automatiquement par la VM sur les différents cores ou nodes). Après il y a plein d'autres trucs derrière (langage fonctionnel "bind-once", principe fondamental du "let it die" dans lequel on ne tente pas de sauver un processus qui crashe, mais on a un superviseur qui le surveille et peut relancer des processus si nécessaires, hot code loading, ...) qui mènent au fait qu'Erlang est l'un des rares langages rendant possible la création d'applications "9 nines" (99.9999999% d'uptime, soit une moyenne de 3 secondes de downtime par an). Pas de bol par contre, Erlang n'a pas été créé pour le hard real-time (il existe pour le soft real-time)
Après, c'est difficilement faisable en utilisant les fonctionalités de l'OS dans la mesure où les process OS sont extrèmement lourds (on peut pas dire que les threads OS soient légers non plus, mais bon...)
tounysbam > Honnêtement, c'est pas le genre de questions que tu devrais poser ici, tes besoins sont extrèmement spécifiques sur un OS extrèmement spécifique dans un environnement extrèmement spécifique, tu devrais essayer de trouver des forums/communautés LynxOS/embarqué pour leur poser la question et avoir une vraie réponse. ---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
|