Supposons qu'un exécutable foo.exe est construit sur la base de bibliothèques statiques et que 6 instances de ce foo.exe tournent en même temps sur la machine. Étant donné que tout le code est identique (partie en lecture seule), à l'exception de la partie d'écriture en lecture sur la RAM, y aura-t-il un partage entre ces 6 instances dans la RAM pour améliorer les performances?Est-ce que plusieurs instances d'un exécutable (construit avec des bibliothèques statiques) partagent quelque chose sur la RAM?
Je sais que si foo.exe ci-dessus utilise des bibliothèques partagées à la place, bien qu'il y ait 6 instances en cours d'exécution, seule une instance de ces bibliothèques partagées sera dans la RAM.
Merci pour la réponse. Mais si les pages de texte sont partagées alors quel avantage spécial avons-nous avec lib partagé, par rapport à la bibliothèque statique? Y a-t-il des doc/url sur lesquels vous pouvez me diriger pour obtenir plus d'informations à ce sujet. – sud
Les bibliothèques partagées partagent également la mémoire lorsqu'elles sont utilisées par plusieurs exécutables. Si à la fois foo.exe et bar.exe sont liés à la bibliothèque partagée X, la bibliothèque partagée X ne sera chargée qu'une seule fois en mémoire. Mais si foo.exe et bar.exe sont liés à la bibliothèque statique Y, il n'y aura pas de partage entre le processus exécutant foo et la barre de déroulement du processus. –
@solotim - s'il y a un problème spécifique qui vous déroute, je serais heureux de clarifier. –