Pitch MALLOC

Anas Buyumad                         Gauthier Cler

Sommaire

  • Présentation
  • Fonctionnement
  • Problèmes rencontrés
  • Améliorations possibles
  • Questions

PrésentatioN

Allouer dynamiquement de la mémoire

Élargir ses connaissances sur les différents principes de la gestion de mémoire

et d'optimisation

Schématisation de la mémoire

Modèle appliqué pour

  • malloc
  • free
  • realloc
  • calloc

Principe de Fonctionnement

brk(ADRESSE)

Déplacer le break

Redimensionner le break

sbrk(INCREMENT)
#define ALIGNEMENT sizeof(void *)

(size + (ALIGNEMENT - 1)) & ~(ALIGNEMENT - 1)

Alignement mémoire

Header

Pointeur renvoyé

Espace alloué

Header

Espace disponible

Header

...

Utilisation d'un Header comprenant

  • Magic number
  • Taille du bloc
  • Disponibilité
  • Pointeurs sur les blocs suivants et précédents

Implémentation «Thread Safe »

  • Utilisation d'un système de verrou

Problèmes rencontrés

  • Très difficile à déboguer
  • Stabilité
  • Implémentation influencée par les tests de la Moulinette

Améliorations possibles

  • Optimisations diverses
  • Allocation par page de mémoire
  • FreeList

Questions

Malloc

By googo

Malloc

  • 468