2nd point, selon mes lectures dont j'ai perdu la source (à remettre en question donc!), sous linux, un thread et un process c'est la même chose (en terme de fonctionnement technique, j'entend, pas en terme d'interface) et donc il n'y a pas de différence de performance.
Je doute qu'en terme de fonctionnement technique ce soit pareil :
- les threads partagent les segments "data", "BSS" (variables globales) et "heap" (allocation dynamique)
- les process peuvent partager des zones mémoire entre eux, mais il faut explicitement le demander au système d'exploitation
- par défaut il n'y a pas de protection mémoire entre les threads
- si tu fais un exec() depuis un thread tous les autres seront impactés, ce n'est pas le cas entre process
Après, de mémoire, c'est effectivement le scheduler de Linux qui gère les threads Posix. Je ne suis pas certain que ce soit le cas en Java par exemple.
[^] # Re: multi-process
Posté par flavien75 . En réponse au message Comprendre Comment marche GNU/Linux: question sur les processes. Évalué à 2.
Je doute qu'en terme de fonctionnement technique ce soit pareil :
- les threads partagent les segments "data", "BSS" (variables globales) et "heap" (allocation dynamique)
- les process peuvent partager des zones mémoire entre eux, mais il faut explicitement le demander au système d'exploitation
- par défaut il n'y a pas de protection mémoire entre les threads
- si tu fais un exec() depuis un thread tous les autres seront impactés, ce n'est pas le cas entre process
Après, de mémoire, c'est effectivement le scheduler de Linux qui gère les threads Posix. Je ne suis pas certain que ce soit le cas en Java par exemple.
Les vrais naviguent en -42