• [^] # Re: Plantages...

    Posté par . En réponse à la dépêche Gnumeric 1.12. Évalué à 3.

    SigKill => Signal Suicides-Toi! le système te demande de mourir, t'as pas ton mot à dire. Point final.

    Pour commencer un point important. Le SigKill n'est pas une demande de l'OS pour ce suicider. Le SigKill est un meurtre pur et simple. Mais ce n'est pas pour ça que tu n'a rien à faire pour le supporter. Un programme qui mange un sigkill doit pouvoir être relancé (tu rigole mais c'est pas le cas de tout les logiciels) si possible avec le moins de perte de données possible. C'est pour ce genre de choses que firefox multiplie les flush de tampon.

    L'OOM dont tu parles, en revanche, c'est bel et bien une exception. Rarement gérée, mais exception tout de même, on peut s'en sortir si on la gère.

    Tu parle de l'exception, je pensais à l'OOM Killer quand le système n'a plu de mémoire et balance un uppercut au logiciel qui lui semble le plus approprié.

    Pour ce qui est de l'exception, c'est principalement parce qu'il n'y a pas grand chose de possible et grand chose à faire dans le cas où tu n'arrive pas à faire ton allocation. Tu ne peux plus allouer de mémoire donc à moi de pouvoir libérer de la mémoire, il n'y a pas grand chose à faire mis à part se débrouiller pour garder un état cohérent sur disque (et éventuellement envoyer un message à l'utilisateur mais toujours sans allocation).

    Pour ce qui est des plugins tu vois une façon de faire, via des bibliothèques partagée, mais tu peut très bien les avoir en mode managé c'est plus limité mais tu as un contrôle bien plus important et tu peut très bien t'en sortir même en cas de plantage de celui-ci (bien sûr le sigkill si ça reste dans le même processus tu peut toujours rien y faire). Tu peut aussi les exécuter dans des processus séparés là tu peut faire tout ce que tu veux dedans (tu es dans un mode natif) et tu peut survivre à un sigkill, mais tu perd en performance si tu as besoin de beaucoup de communication entre tes processus.

    Bref tout ça pour dire qu'il y a du choix et que le choix se fait en fonction du besoin. Minix par exemple ne plante pas si l'un de ses driver plante, il se contente de le relancer.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)