Tp3 gestion de la memoire pdf 1

Université Grenoble Alpes PHYSIQUE INGÉNIERIE TERRE ENVIRONNEMENT MÉCANIQUE Compte rendu travaux pratiques TP Gestion de la mémoire C C Filière Master Systèmes Electroniques Réalisé par LAARBI LAALILICH HANSAL HAMZA BADRI GHANEM Page CTables des matières Introduction et objectifs Chapitre Mise en mémoire Chapitre Analyse de performance Accès par valeurs Accès par références Conclusion Page CIntroduction Le langage de programmation C est à la base des systèmes d ? exploitation que nous connaissons aujourd'hui ou au moins du noyau de ces systèmes comme par exemple Unix Linux Le Langage C a justement été créé pour un seul et unique but au départ développer un système d'exploitation Unix mais au ?l du temps gr? ce à sa puissance il a été adopté par une large communauté de développeurs ce qui a permis au langage d'évoluer et surtout d'être standardisé Etudier la mise-en-mémoire des di ?érentes variables - Analyse de performance d ? un code en fonction des di ?érentes classes mémoires Page CChapitre Mise en Mémoire Exercice Les di ?érents sections mémoires dans un programme C Zone programme Tout d'abord la zone de programme découpée en plusieurs segments dont ? Le segment texte text contient le code machine du programme ? Le segment bss bss contient les données non initialisées variables globales du C BSS signi ?e Block Stating Symbol ? Le segment data data contient les données initialisées du programmes constantes globales Le tas Heap Ensuite vient le tas heap C'est la mémoire allouée dynamiquement avec les fonctions de type malloc La croissance de cette zone s'e ?ectue vers les adresses hautes L'adresse de base du tas est donnée par la fonction sbrk avant toute allocation ou par brk La mémoire libre Vient la zone de mémoire libre ou mémoire non allouée Elle est consommée par le tas La réservation d'une zone supplémentaire se fait avec la fonction sbrk taillesupp ou taillesup est la taille de la zone à réserver Zone de liens dynamiques Après cette zone de mémoire libre une partie de la mémoire est réservée pour les bibliothèques dynamiques links chargées soit lors du chargement de l'exécutable quand les bibliothèques ont été référencées lors de la phase d'édition de liens symboles nécessaires à la compilation soit pendant l'exécution du programme et par le programme lui-même par l'appel aux fonctions dlopen etdlsym programmation de gre ?ons chargement de modules La pile stack En ?n la dernière zone de l'espace utilisateur est la pile La pile commence à l'inverse des autres zones à l'adresse la plus haute soit théoriquement PAGEOFFSET- La pile croit donc vers les adresses basses En ?n la dernière zone de l'espace utilisateur est la pile La pile commence à l'inverse des autres zones à l'adresse la plus haute soit théoriquement PAGEOFFSET- La pile croit donc vers les adresses basses Page ? CFigure Gestion de la mémoire en programme C La création d ? un nouveau projet Mémoire ? dont le ?chier source contient Figure programme question On remarque que ce programme ne contient que la fonction principale

  • 39
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise
Partager
  • Détails
  • Publié le Jul 19, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 46.3kB