01 // LE PROJET EN BREF
MALLOC
CRéé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
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…