From cb8f597dca2aca7fc3fa9053786d5c77ba9d4e09 Mon Sep 17 00:00:00 2001 From: CharlyBVO <charleshenrybertrand@uclouvain.be> Date: Sat, 4 Jan 2020 12:14:21 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20d'une=20petite=20explication=20sur=20le?= =?UTF-8?q?=20segment=20de=20donn=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Theorie/C/malloc.rst | 3 ++- Theorie/Threads/threads2.rst | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Theorie/C/malloc.rst b/Theorie/C/malloc.rst index 4b87347..cc72068 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 618677f..a143ca2 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. -- GitLab