Home

La gestion de la mémoire d'un exécutable sur GNU/Linux

Table des matières

  1. Introduction
  2. Segment texte
  3. Segment de données et le segement bss
  4. Segment tas
  5. Segment pile
  6. Schéma de la mémoire
  7. Voir les variables en mémoire

Introduction

Cette partie permet de configurer l'environnement DSL pour avoir un meilleur confort au niveau de la francisation et d'obtenir un compte utilisateur normal.

Segment texte

Le segment texte qui est en lecture seul, il permet de stocker du code (instruction principale pour le fonctionnement du programme), une modification dans cette zone provoque un plantage.

Segement de données et le segment bss

Le segment de données et bss servent à stocker des variables globales et statiques.
Les variables globales et statiques initialisées sont stockées dans le segment de données.
Les variables non initialisées sont stockées dans le segment bss.
L'écriture est autorisée, les segments ont une taille figée.

Segment tas

Permet d'allouer des blocs mémoire, sa taille n'est pas figée, donc il peut diminuer ou grandir suivant les besoins.
L'allocation ou la suppression de blocs mémoire s'effectue par le programmeur.
Les tas diminue ou augmente suivant la réservation de la mémoire.
L'augmentation du tas se fait vers le bas, vers les adresses de mémoire haute (voire le schéma).

Segment pile

Le segment pile à aussi une taille variable. Il sert de zone de stockage pour les variables local des fonctions.
Les variables sont empilées et dépilées en mode FIFO (first-in, last out), le premier entré est le premier sorti.

Schéma de la mémoire

Voici le schéma de la mémoire
mémoire

Voire les variables en mémoire

Je vous donne les codes source d'un programme qui permet de voir ou se trouve les différentes variable me mémoire.
segmentmemoire.c

Revenir au haut de la page