diff --git a/Theorie/C/malloc.rst b/Theorie/C/malloc.rst index 4b87347905c3f3662f653d3456e758227ef51cc3..cc72068024d5d710e212c70e6fe09aeb38b1d054 100644 --- a/Theorie/C/malloc.rst +++ b/Theorie/C/malloc.rst @@ -136,7 +136,8 @@ Lors de l'exécution d'un programme en mémoire, le système d'exploitation char Organisation d'un programme Linux en mémoire -La figure ci-dessus présente une vision schématique de la façon dont un processus Linux est organisé en mémoire centrale. Dans le cadre de ce cours, nous nous concentrerons sur les zones du Stack et du Heap. +.. La figure ci-dessus présente une vision schématique de la façon dont un processus Linux est organisé en mémoire centrale. +Dans le cadre de ce cours, nous nous concentrerons sur les zones du Stack et du Heap. .. Il y a d'abord une partie de la mémoire qui est réservée au système d'exploitation (OS dans la figure). Cette zone est représentée en grisé dans la figure. diff --git a/Theorie/Threads/threads2.rst b/Theorie/Threads/threads2.rst index 618677f5c0004b8d2c14cf82a2c310f2c07a35a3..a143ca2fcc22c19202f269e4976cce8bd3df8a6a 100644 --- a/Theorie/Threads/threads2.rst +++ b/Theorie/Threads/threads2.rst @@ -17,7 +17,7 @@ Lorsque un programme a été décomposé en plusieurs threads, ceux-ci ne sont e Organisation de la mémoire après la création d'un thread POSIX -Le programme principal et le thread qu'il a créé partagent trois zones de la mémoire : le :term:`segment text` qui comprend l'ensemble des instructions qui composent le programme, le :term:`segment de données` qui comprend toutes les données statiques, initialisées ou non et enfin le :term:`heap`. Autant le programme principal que son thread peuvent accéder à n'importe quelle information se trouvant en mémoire dans ces zones. Par contre, le programme principal et le thread qu'il vient de créer ont chacun leur propre contexte et leur propre pile. +Le programme principal et le thread qu'il a créé partagent trois zones de la mémoire : le :term:`segment text` qui comprend l'ensemble des instructions qui composent le programme, le :term:`segment de données` qui comprend toutes les données statiques , initialisées ou non (c'est-à -dire les constantes, les variables globales ou encore les chaines de caractère) et enfin le :term:`heap`. Autant le programme principal que son thread peuvent accéder à n'importe quelle information se trouvant en mémoire dans ces zones. Par contre, le programme principal et le thread qu'il vient de créer ont chacun leur propre contexte et leur propre pile. La première façon pour un processus de communiquer avec un thread qu'il a lancé est d'utiliser les arguments de la fonction de démarrage du thread et la valeur retournée par le thread que le processus principal peut récupérer via l'appel à `pthread_join(3posix)`_. C'est un canal de communication très limité qui ne permet pas d'échange d'information pendant l'exécution du thread.