PROJECT DOSSIER // [MALLOC]VOIR LA SOURCERETOUR AUX PROJETS →

01 // LE PROJET EN BREF

MALLOC

C

Réécrire malloc et free — puis les substituer à ceux du système, sur de vrais programmes.

Tous les programmes demandent de la mémoire au système sans jamais se demander comment cette demande est satisfaite. Ce projet consiste à écrire soi-même ce mécanisme, puis à le charger à la place de celui du système pour faire tourner de vrais logiciels dessus. Voir un programme complet fonctionner sur son propre allocateur est un moment marquant du cursus.

Bibliothèque partagée libmy_malloc.so réimplémentant malloc, free, calloc, realloc et reallocarray au-dessus du seul sbrk, avec allocation best fit, tailles arrondies à la puissance de 2 supérieure et break étendu par multiples de deux pages, chargeable par LD_PRELOAD.

PRINCIPALC
RÉALISATIONPROJET D’ÉQUIPE
VÉRIFICATIONCriterion
SOURCEINSPECTOR READY
PIÈCES JOINTES (Images, Photos, Videos)

03 // APPORTS CLÉS

  • Substituable à l'allocateur système sur de vrais programmes via LD_PRELOAD
  • Stratégie best fit et arrondi à la puissance de 2, imposés par le sujet
  • Débogage de corruptions mémoire silencieuses

AU-DELÀ DU SUJET

  • Tests Criterion sur l'allocateur, exercice délicat puisque le test s'exécute lui-même avec l'allocateur testé

04 // ARBORESCENCE DU CODE

LECTURE DES SOURCES…