Mais à quoi bon séparer les fonctionnalités dans différents pid ? ça augmente énormément l'overhead du à l'IPC,
Énormément il ne faut pas éxagérer: cela dépend du volume et des méthodes de sérialisation utilisées pour transférer les variables, ainsi que de l'architecture du logiciel. Une bonne méthode de sérialisation pour ce type d'utilisation a une complexité proportionnelle à la profondeur des données transférées (profondeur pour nombre de structure imbriquées, c'est négligeable par rapport à la taille mémoire). Donc le point critique est sur l'ensemble des données que tu veux transférer. Pour minimiser cet ensemble, on peut avoir un processus contenant titulaire de la gestion de ces données auquel tous les processus clients communiquent en utilisant des références (modele utilisé par le serveur X11).
Sauf qu'un logiciel sain n'a pas besoin de plusieurs process.
Un navigateur n'est peut-être pas un logiciel sain parcequ'il éxécute des programmes non vérifiés (Javascript) écrits par des tiers inconnus et pas forcément bien intentionnés. Dans ce contexte, la séparation des processus peut servir de mesure de sécurité.
[^] # Re: Toujours pas de multithread
Posté par Michaël (site web personnel) . En réponse à la dépêche Firefox 8 est disponible. Évalué à 2.
Énormément il ne faut pas éxagérer: cela dépend du volume et des méthodes de sérialisation utilisées pour transférer les variables, ainsi que de l'architecture du logiciel. Une bonne méthode de sérialisation pour ce type d'utilisation a une complexité proportionnelle à la profondeur des données transférées (profondeur pour nombre de structure imbriquées, c'est négligeable par rapport à la taille mémoire). Donc le point critique est sur l'ensemble des données que tu veux transférer. Pour minimiser cet ensemble, on peut avoir un processus contenant titulaire de la gestion de ces données auquel tous les processus clients communiquent en utilisant des références (modele utilisé par le serveur X11).
Un navigateur n'est peut-être pas un logiciel sain parcequ'il éxécute des programmes non vérifiés (Javascript) écrits par des tiers inconnus et pas forcément bien intentionnés. Dans ce contexte, la séparation des processus peut servir de mesure de sécurité.